我有一个简单的Web服务,有两个webmethods。
的https://localhost/Sub/WS/Dash.asmx/test_error_methodnameXXXXXXXXXXX
当我从浏览器调用上述请求时。它给出了一条错误信息,上面写着: -
System.InvalidOperationException: test_error_methodnameXXXXXXXXXXX Web 服务方法名称无效。 at System.Web.Services.Protocols.HttpServerProtocol.Initialize()at System.Web.Services.Protocols.ServerProtocolFactory.Create(Type type, HttpContext上下文,HttpRequest请求,HttpResponse响应, 布尔和放大器; abortProcessing)
我尝试在web.config文件的帮助下进行如下操作: -
<system.web>
<customErrors mode="On" defaultRedirect="~/Sub/ErrorPage/AppErrors.aspx">
<error statusCode="500" redirect="500.aspx" />
</customErrors>
</system.web>
在这种情况下, 重定向不会发生 到500.aspx页面或AppErrors.aspx。 如果我更改了mode属性中的值,我可以看到发生的变化。
感谢。
答案 0 :(得分:0)
要调用javascript的Web方法,您应将Web服务标记为脚本服务。
[ScriptService]
public class MyService : WebService
{
}
在脚本管理器中包含对它的引用:
<asp:ScriptManager ID="_scriptManager" runat="server">
<Services>
<asp:ServiceReference Path="Dash.asmx" />
</Services>
</asp:ScriptManager>
在js
中调用它try {
Dash.MyService.ErrorMethodName();
}
catch(exception){
//handle exception
}
finally {
//round up
}
答案 1 :(得分:0)
我在web.config的帮助下找到了修复程序。
坚持
<diagnostics suppressReturningExceptions="true"/>