所以我在我的 MVC4 中添加了一个 ASMX Web 服务,但是当我尝试访问它时,我得到了一个“找不到资源”错误。经过搜索,我在这里找到了答案。
简而言之,我必须将以下 IgnoreRoute 添加到我的 RouteConfig 文件中。
routes.IgnoreRoute("{*x}", new { x = @".*\.asmx(/.*)?" });
我非常了解 MVC 中的 MapRoute 功能,但是 IgnoreRoute 并没有那么多。我知道它的目标是 .asmx 后缀,但我不确定这个快速修复的方式和原因。
这个 IgnoreRoute 是如何工作的,以及它究竟为什么让我的 MVC 应用程序神奇地了解如何查找和执行我的 Web 服务?顺便说一句,目前我唯一的映射路线是默认路线,但是是否有另一种/更好的方法可以使用 MapRoute 或其他修复方法解决此问题?