rest wcf如果不能跨域访问,那有什么实际用处呢?

时间:2022-10-14 23:01:19
如果
<asp:ScriptManager ID="ScriptManager1" runat="server">
            <Services>
                <asp:ServiceReference Path="~/service1.svc" />
            </Services>
        </asp:ScriptManager>
就可以访问,但是以下这个就不能访问
<asp:ScriptManager ID="ScriptManager1" runat="server">
            <Services>
                <asp:ServiceReference Path="http://localhost/wcf/service1.svc" />
            </Services>
        </asp:ScriptManager>

7 个解决方案

#1


跨域只存在类似javascript等等web前端直接调用的问题

#2


调用后会提示404错误,我是在客户端js调用的 

function show() {
          //$.getJSON("http://localhost/wcf/service1.svc/DoWork",{name:"sd"}, function(r) { alert(r) });
          var s = new wcftest.Service1();
          s.DoWork("df",onComplete,onerror);
          
      }

      function onComplete(r) {
          alert(r);
      }

      function onerror(r) {
          alert(r.get_message());
      }
    

#3


使用jquery就可以,使用ASP.NET ajax反而不可以了

#4


跨域只会出同一个安全警告。

你上面是404错误,是没有找到页面。

~/service1.svc
http://localhost/wcf/service1.svc

你查查你的应用程序,是不是有端口之类的。下面的地址根本不对。你这不是跨域的问题。

#5


使用~/service1.svc,这是我在项目中的一个wcf服务,http://localhost/wcf/service1.svc是我另外一个服务,这两个代码完全一样,只是部署的地方不同,jquery都可以访问,但是ASP.net只能访问当前项目中的服务

#6


你看看你Web service添加引用的地方,是不是还是用的原来本地的。
JQuery能访问是因为你写了正确的地址,asp.net因为是添加引用,是用的原来的地址是。

#7


我在msdn上也贴了这个问题,得到的回答是,这是asp.net ajax库的缺陷,目前没有办法,只能用第三方库

#1


跨域只存在类似javascript等等web前端直接调用的问题

#2


调用后会提示404错误,我是在客户端js调用的 

function show() {
          //$.getJSON("http://localhost/wcf/service1.svc/DoWork",{name:"sd"}, function(r) { alert(r) });
          var s = new wcftest.Service1();
          s.DoWork("df",onComplete,onerror);
          
      }

      function onComplete(r) {
          alert(r);
      }

      function onerror(r) {
          alert(r.get_message());
      }
    

#3


使用jquery就可以,使用ASP.NET ajax反而不可以了

#4


跨域只会出同一个安全警告。

你上面是404错误,是没有找到页面。

~/service1.svc
http://localhost/wcf/service1.svc

你查查你的应用程序,是不是有端口之类的。下面的地址根本不对。你这不是跨域的问题。

#5


使用~/service1.svc,这是我在项目中的一个wcf服务,http://localhost/wcf/service1.svc是我另外一个服务,这两个代码完全一样,只是部署的地方不同,jquery都可以访问,但是ASP.net只能访问当前项目中的服务

#6


你看看你Web service添加引用的地方,是不是还是用的原来本地的。
JQuery能访问是因为你写了正确的地址,asp.net因为是添加引用,是用的原来的地址是。

#7


我在msdn上也贴了这个问题,得到的回答是,这是asp.net ajax库的缺陷,目前没有办法,只能用第三方库