我正在尝试在我的Web API项目中实现自定义委托处理程序。我希望我的自定义处理程序仅适用于特定路由,但不能正常工作。全局工作的处理程序或未执行的处理程序。
我从这里取了参考 link
这是我的默认路由,不需要调用处理程序。
config.Routes.MapHttpRoute(
name: "DefaultApi",
routeTemplate: "api/{controller}/{id}",
defaults: new { id = RouteParameter.Optional }
);
这是我要为其调用处理程序的自定义路由
config.Routes.MapHttpRoute(
name: "Route2",
routeTemplate: "edi/new/{controller}/{id}",
defaults: new { id = RouteParameter.Optional },
constraints: null,
handler: HttpClientFactory.CreatePipeline(new HttpControllerDispatcher(config),
new DelegatingHandler[]
{ new ValidateKey(),
new LogRequestAndResponseHandler() })
注册处理程序。
config.MessageHandlers.Add(new ValidateKey());
config.MessageHandlers.Add(new LogRequestAndResponseHandler());
我已经尝试了许多关于SO的链接,但是对我来说没有任何用。我在执行代码时没有任何错误。我不知道我在做什么错,因为这段代码对其他人来说很好用