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

默认情况下,VS添加一个“ HelloWorld” Web服务。当我尝试在浏览器中运行它时,确实获得了操作列表,服务描述(WSDL)和HellowWorld操作的详细信息。但是,当我尝试调用Web服务时,出现以下错误:


“ /”应用程序中的服务器错误。

无法找到该资源。

说明:HTTP404。您正在寻找的资源(或其资源之一)
依赖项)可能已被删除,名称更改或
暂时不可用。请查看以下网址并进行
确保拼写正确。


我猜可能会缺少一些基本步骤/设置。请一些身体帮忙。谢谢。

最佳答案

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

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

routes.IgnoreRoute("{*x}", new { x = @".*\.asmx(/.*)?" });


而且有效。谢谢。

关于web-services - 在.NET MVC4中调用本地Web服务时出现HTTP 404错误,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/17057386/

10-12 12:48
查看更多