ASP.NET 4.0 URL Routing HTTP Error 404.0 - Not Found
原创
©著作权归作者所有:来自51CTO博客作者张善友的原创作品,请联系作者获取转载授权,否则将追究法律责任
在ASP.NET Web API项目中的路由注册代码如下: public static void RegisterRoutes(RouteCollection routes) { ...
在ASP.NET Web API项目中的路由注册代码如下:
public static void RegisterRoutes(RouteCollection routes)
{
routes.MapHttpRoute(
name: "DefaultApi",
routeTemplate: "api/{controller}/{filename}",
defaults: new { filename = RouteParameter.Optional }
);
}
当访问地址突然出现了如下错误:
解决方法:
1、确认启用了IIS的 HTTP Redirection
2、在web.config中启用asp.net 4.0 routing:
<system.webServer>
<modules runAllManagedModulesForAllRequests="true">
<remove name="UrlRoutingModule"/>
<add name="UrlRoutingModule" type="System.Web.Routing.UrlRoutingModule, System.Web, Versinotallow=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
<remove name="WebDAVModule" /> </modules>
<handlers>
<add name="UrlRoutingHandler" preCnotallow="integratedMode" verb="*" path="UrlRouting.axd" type="System.Web.HttpForbiddenHandler, System.Web,
Versinotallow=2.0.0.0, Culture=neutral,
PublicKeyToken=b03f5f7f11d50a3a"/>
<remove name="WebDAV" />
</handlers>
</system.webServer>
http://www.matlus.com/rest-apis-put-and-delete-cause-http-error-404/