我正在尝试学习 .NET mvc4 中的 Web 服务。我尝试创建一个新的 Internet 应用程序并向该项目添加一个 Web 服务 (asmx)。
默认情况下,VS 添加一个“HelloWorld”Web 服务。当我尝试在浏览器中运行它时,我确实获得了操作列表、服务描述(WSDL)和详细信息HellowWorld
手术。但是,当我尝试调用 Web 服务时,出现以下错误:
“/”应用程序中的服务器错误。
无法找到该资源。
描述:HTTP 404。您正在查找的资源(或其其中之一)
依赖项)可能已被删除,其名称已更改,或者是
暂时不可用。请检查以下 URL 并进行
确保拼写正确。
我猜我可能缺少一些基本步骤/设置。请有人帮忙。谢谢。
我从一位同事那里得到了答案:)。
当我们调用服务时,MVC 尝试解析 RegisterRoutes 中指定的路径。
因此,它尝试查找具有该名称的控制器以及与该控制器内的操作名称相同的方法。解决方案,忽略扩展名为 .asmx 的路径。您可以通过在 RouteConfig.cs 中添加以下行来做到这一点:
routes.IgnoreRoute("{*x}", new { x = @".*\.asmx(/.*)?" });
它起作用了。谢谢。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)