Asp.NET MVC 之 调试访问 webservice 时出现“ 无法找到资源 ”的错误

  问题情景如标题,具体错误如下图:

  

  出现以上情况,是程序将 .asmx 文件按控制器方式解析了,在 RouteConfig.cs 文件的 RegisterRoutes 方法中忽略 .asmx 文件,"{resource}.asmx/{*pathInfo}" 为相对于根目录的路径,根据自己项目实际配置,如下:

public class RouteConfig
    {
        public static void RegisterRoutes(RouteCollection routes)
        {
            routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
            routes.IgnoreRoute("{resource}.asmx/{*pathInfo}");

            routes.MapRoute(
                name: "Default",
                url: "{controller}/{action}/{id}",
                defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
            );
        }
    }  

  再一次尝试调试运行,成功。

  注意:

  .asmx 文件所在的目录要完整(从 web 根目录开始)。

 

posted on 2017-08-22 11:26  Now,DayBreak  阅读(1573)  评论(0编辑  收藏  举报