如何为ASP.NET WebAPI 2中使用路由属性的特定控制器添加MessageHandler?
|
是否可以仅为使用路由属性的特定控制器添加MessageHandler? 如果它不包含某些标题,我想在管道中提前删除请求.我想要 >我无法在WebApiConfig中添加其他路由,我们必须使用控制器中的路由属性. 例如,我用以下RoutePrefix修饰了控制器:api / myapicontroller和一个带有Route(“”)的动作. (我知道这很奇怪,我们正在根据查询字符串选择不同的动作) 然后,我补充说 config.Routes.MapHttpRoute(
name: "CustomRoute",routeTemplate: "api/myapicontroller/{id}",defaults: new { id = RouteParameter.Optional },constraints: null,handler: new myMessageHandler()
);
如果我把这段代码放在config.MapHttpAttributeRoutes()之前; myMessageHandler正在执行,但我收到此消息:
如果我把config.MapHttpAttributeRoutes();首先,myMessageHandler永远不会执行,但调用myapicontroller中的my动作. 解决方法不幸的是,您无法通过AttributeRouting设置任何处理程序.如果要将处理程序分配给特定路由,则必须仅通过MapHttpRoute注册它.除非您需要在默认值部分中添加控制器名称,例如Ajay Aradhya的答案,并从您的操作中删除Route属性,因为您可以使用Route属性或MapHttpRoute方法注册路径,但不能同时注册两者.另请注意,您需要创建管道,否则您的处理程序将工作但请求将不会命中控制器操作. (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- asp.net-mvc-4 – 如何让你的MVC控制器DRY为Edit- Save- Va
- asp.net – 帮助捕获StackOverflowException与WinDbg和ADPl
- asp.net-mvc-4 – Elmah.MVC 2.0.1 – 保护elmah日志
- asp.net-core – .Net 5中的调试设置
- asp.net-mvc – 有一种方法我可以在ASP中调试路由. MVC5?
- ASP.net c#替换字符串不起作用
- 如何在ASP.NET MVC 5.2.3应用程序的其他地方获取IAppBuilde
- asp.net – 命名空间“Microsoft”错误中不存在类型或命名空
- asp.net-mvc – 重命名重构在强类型剃刀视图中为某人工作吗
- asp.net-mvc – 所有ASP.NET Web API控制器返回404
- asp.net – 如何判断请求是否来自代理?
- asp.net-mvc – 带有asp.net mvc 4和EntityFrame
- asp.net – 什么时候调用Application_End,我该如
- ASP.Net将文件下载到客户端浏览器
- asp.net-mvc – Ninject如何在ASP.NET MVC中创建
- asp.net-mvc-4 – 什么是antlr3,为什么默认情况下
- asp.net-mvc – ASP.NET MVC JavaScript路由
- ASP.NET验证摘要:如何使用JavaScript禁用验证程
- asp.net-mvc – 在ASP.NET MVC应用程序中更改日期
- asp.net – 无法检索元数据
