asp.net-mvc – 如何在MVC4 WebAPI配置中忽略路由?
发布时间:2020-12-16 03:34:32 所属栏目:asp.Net 来源:网络整理
导读:我添加了elmah的MVC4项目.我的global.asax的Application_Start()有 WebApiConfig.Register(GlobalConfiguration.Configuration); // #1FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters);RouteConfig.RegisterRoutes(RouteTable.Routes); // #2 #1
我添加了elmah的MVC4项目.我的global.asax的Application_Start()有
WebApiConfig.Register(GlobalConfiguration.Configuration); // #1 FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters); RouteConfig.RegisterRoutes(RouteTable.Routes); // #2 #1和#2如下 public static class WebApiConfig { public static void Register(HttpConfiguration config) { config.Routes.MapHttpRoute( name: "DefaultApi",routeTemplate: "{controller}/{action}/{id}",defaults: new { id = RouteParameter.Optional } ); } ... } public class RouteConfig { public static void RegisterRoutes(RouteCollection routes) { routes.IgnoreRoute("{resource}.axd/{*pathInfo}"); routes.MapRoute( name: "Default",url: "{controller}/{action}/{id}",defaults: new { controller = "Home",action = "Index",id = UrlParameter.Optional } ); } } 模板是相同的,并且路由到控制器的工作完全符合我们的要求(从URI规范的角度来看).问题是在添加WebAPI路由之后添加了忽略路由.因此,由Elmah(例如/elmah.axd/styles)处理的MVC4路由应该被忽略,而是被WebAPI拦截并且请求失败=>所以我的elmah.axd页面中没有CSS.我尝试在global.asax中翻转#1和#2,但这导致所有WebAPI路由失败 – FAR比不在Elmah中工作的CSS更糟糕! 我基本上需要一些方法来指示WebAPI的路由忽略{resource} .axd / {* pathInfo}作为第一条路径 – 我该怎么做? 解决方法
这对我们有用 – 将忽略从包装中移出并作为第一个.
protected void Application_Start() { AreaRegistration.RegisterAllAreas(); //ignore route first RouteTable.Routes.IgnoreRoute("{resource}.axd/{*pathInfo}"); WebApiConfig.Register(GlobalConfiguration.Configuration); FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters); // And taken out of the call below RouteConfig.RegisterRoutes(RouteTable.Routes); BundleConfig.RegisterBundles(BundleTable.Bundles); } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- c#自定义日志记录
- .net – 使用basicHttpBinding时使HTTPS工作
- asp.net – 允许 – (破折号)在正则表达式中
- 企业ASP.NET MVC 3架构大纲
- asp.net – 如何在转发器中使用不同的样式?
- asp.net-mvc – Steve Sanderson的BeginCollectionItem帮助
- 选择完成后和提交上传之前的asp.net FileUpload事件
- 实体框架 – 使用ASP.NET Web API和实体框架进行API版本控制
- 我如何设置我的ASP.NET项目来查找我的文件?
- asp.net-mvc-3 – 如何通过HTML类(Razor语法)在MVC视图中创
推荐文章
站长推荐
- 从ViewBag设置文本输入的值? ASP.NET MVC5
- asp.net阻止表单提交两次
- asp.net – Visual Studio中Web API和Azure API
- asp.net – 使用Thinktecture Identity Server 2
- 身份验证 – 错误“Membership.Provider”属性必
- asp.net-mvc-3 – 强类型的RadioButtonlist
- asp.net – 如何从Controller设置@ Html.ActionL
- asp.net-mvc – asp.net mvc应用程序中的Web浏览
- asp.net – app_offline替代方案
- asp.net-mvc – ASP.NET MVC:路由到URL
热点阅读