把源码放到服务器部署webservice调用出错 MVC C#

时间:2022-10-05 21:46:16

C# WebService在本地调用正常,同样的代码布睹到服务器上总是调用报如下错误

Server Error in '/' Application.


The resource cannot be found.

Description: HTTP 404. The resource you are looking for (or one of its dependencies) could have been removed, had its name changed, or is temporarily unavailable.  Please review the following URL and make sure that it is spelled correctly.

Requested URL: /service/trackservice.asmx/Logon

解决办法,在路由配置文件中添加配置

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

public static void RegisterRoutes(RouteCollection routes)
{
/*本地用VS2010新建了一个MVC4工程,添加一个默认的webservice,包含helloworld方法,本地运行,或直接部署到本地的IIS,调用webservice没有任何问题,直接把源码考到服务器,部署,网站打开没有问题,显示webservice页面也没有问题,点击调用方法的时候出错,
Server Error in '/' Application. The resource cannot be found. Description: HTTP 404. The resource you are looking for (or one of its dependencies) could have been removed, had its name changed, or is temporarily unavailable. Please review the following URL and make sure that it is spelled correctly.
*/
routes.IgnoreRoute("{*x}", new { x = @".*\.asmx(/.*)?" });
//routes.IgnoreRoute("{resource}.axd/{*pathInfo}"); routes.MapRoute(
"Default", // Route name
"{controller}/{action}/{id}", // URL with parameters
new { controller = "Account", action = "LogOn", id = UrlParameter.Optional } // Parameter defaults
); }

困惑多天的问题,一句代码解决。