在.NET MVC4中调用本地Web服务时出现HTTP 404错误

sau*_*abh 12 web-services asmx asp.net-mvc-4

我正在尝试学习.NET mvc4中的webservices.我尝试创建一个新的Internet应用程序并向项目添加Web服务(asmx).

默认情况下,VS会添加"HelloWorld"Web服务.当我尝试在浏览器中运行它时,我会获得操作列表,服务描述(WSDL)以及HellowWorld操作的详细信息.但是,当我尝试调用webservice时,它会出现以下错误:

'/'应用程序中的服务器错误.

无法找到该资源.

说明:HTTP 404.您要查找的资源(或其中一个依赖项)可能已被删除,名称已更改或暂时不可用.请查看以下网址,确保拼写正确.

我猜可能会遗漏一些基本步骤/设置.请一些人帮忙.谢谢.

sau*_*abh 33

我从一位同事那里得到了答案:).

当我们调用服务时,MVC尝试解析RegisterRoutes中指定的路径.因此,它尝试查找具有该名称的控制器和名称与该控制器内的操作名称相同的方法.分辨率,忽略.asmx扩展名的路径.您可以通过在RouteConfig.cs中添加以下行来实现:

routes.IgnoreRoute("{*x}", new { x = @".*\.asmx(/.*)?" }); 
Run Code Online (Sandbox Code Playgroud)

它起作用了.谢谢.