日期:2014-05-17  浏览次数:20542 次

【求助】WebService服务器方法失败
问题描述:
解决方案下有两个项目:一个是MVC程序,一个是WebService。
现MVC程序服务引用WebService 引用名为:ServiceReference1
使用WebService页面添加 服务:
[code=xml]
    <asp:ScriptManager ID="ScriptManager1" runat="server">
    <Services >
    <asp:ServiceReference Path="http://localhost:4565/MyService.asmx"/>
    </Services>
    </asp:ScriptManager>
[/code]
JS使用:
[code=xml]
function SubToLogIn()
{
    OES.WebService.MyService.LogIn(uName, uPWD, OnSuccess,OnFail,context);
//OES.WebService.MyService为 WebService的类路径
//WebService在MVC程序中的引用类路径为OES_MVC.ServiceReference1
}
[/code]
而在使用过程中 则一直提示"服务器方法“LogIn”失败。"


重新新建一个MVC项目,将WebService文件复制到新MVC项目中 大致重复上述步骤 却能正常运行。

------解决方案--------------------
是不是js跨域问题,可以在你的mvc项目中加一中转页面来处理
------解决方案--------------------
应该是跨域问题,如果部署的时候不放在一个网站上的话,可以做个Router Service,就是在mvc网站加入一个asmx,在这个asmx中调用真正的web service.js调用这个asmx.

其它方法参考下面的文章:

Calling Cross Domain Web Services in AJAX

http://www.simple-talk.com/dotnet/asp.net/calling-cross-domain-web-services-in-ajax/