当前位置:编程学习 > C#/ASP.NET >>

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

如果
<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> --------------------编程问答-------------------- 跨域只存在类似javascript等等web前端直接调用的问题 --------------------编程问答-------------------- 调用后会提示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());
      }
     --------------------编程问答-------------------- 使用jquery就可以,使用ASP.NET ajax反而不可以了 --------------------编程问答-------------------- 跨域只会出同一个安全警告。

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

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

你查查你的应用程序,是不是有端口之类的。下面的地址根本不对。你这不是跨域的问题。 --------------------编程问答-------------------- 使用~/service1.svc,这是我在项目中的一个wcf服务,http://localhost/wcf/service1.svc是我另外一个服务,这两个代码完全一样,只是部署的地方不同,jquery都可以访问,但是ASP.net只能访问当前项目中的服务 --------------------编程问答-------------------- 你看看你Web service添加引用的地方,是不是还是用的原来本地的。
JQuery能访问是因为你写了正确的地址,asp.net因为是添加引用,是用的原来的地址是。 --------------------编程问答-------------------- 我在msdn上也贴了这个问题,得到的回答是,这是asp.net ajax库的缺陷,目前没有办法,只能用第三方库
补充:.NET技术 ,  Web Services
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,