C# MVC webservice 本地 IIS express 调试
调试项目webservice时出现两个错误
未能加载文件或程序集或它的某一个依赖项。试图加载格式不正确的程序。
问题:DLL是32位,主程序是64位,尝试了设置项目属性中的目标平台为x86,设置过解决方案的属性页-配置属性,均无效果;
解决:最后经老哥提醒,设置对网站和项目使用IIS Express的64位版,不勾选,目标平台选择Any CPU或者x86都可以了。
原因:未知
问题:MVC webservice 本地 IIS express 调试 时,使用网页输入参数调试接口时,报错404,找不到URL;
原因:(未验证)这是由于ASP.NET MVC路由将asmx的调用当成MVC的路径去解析了,但是实际上WEB SERVICE的asmx调用和MVC没有半毛钱关系,所以要在MVC的路由中加入asmx文件路径的例外,让ASP.NET MVC的路由不去解析带.asmx的URL路径,而交由ASP.NET的Pipeline去负责asmx文件。
解决:将routes.IgnoreRoute("{resource}.asmx/{*pathInfo}")
以及
routes.IgnoreRoute("{*allasmx}", new {allasmx=@".*\.asmx(/.*)?"});
加入到MVC的全局路由配置文件RouteConfig.cs中。
参考资料: