jjzjj

DelegatingHandler

全部标签

c# - 如何在 ASP.NET MVC 4 Web API 中测试自定义 DelegatingHandler?

我看到这个问题出现在几个地方,但没有看到任何好的答案。因为我不得不自己做几次,所以我想我应该发布我的解决方案。如果你有更好的,请发布。注意这是使用ASP.NETMVC4Beta2版本的WebAPI-future版本可能会改变!更新:这在ASP.NETMVC4RC中仍然有效 最佳答案 在这种方法中,我创建了一个TestHandler并将其设置为被测处理程序的InnerHandler属性。然后可以将被测处理程序传递给HttpClient-如果您正在编写服务器端处理程序,这可能看起来不直观,但这实际上是测试处理程序的一种很好的轻量级方法-

c# - 为什么对 ASP.NET MVC Controller 的调用不执行 DelegatingHandler?

介绍问题我最近了解到,调用ApiController操作将触发DelegatingHandler的SendAsync方法,并且调用vanillaControllerAction不会触发它。搜索和研究我查看了WebApi,了解到它包含HttpMessageHandler,它是DelegatingHandler类的父级。这让我相信HTTP消息处理程序通常只作为WebAPI管道的一部分执行。此外,HttpMessageHandlersrunbeforeUrlRouting,因此可能不是在WebAPI和MVC管道之间进行选择的URL路由。...considerusinganactionfilt

c# - 在 ASP.NET Core Web API 中注册一个新的 DelegatingHandler

我想创建一个扩展DelegatingHandler的新处理程序,使我能够在到达Controller之前做一些事情。我在各个地方都读过,我需要从DelegatingHandler继承,然后像这样重写SendAsync():publicclassApiKeyHandler:DelegatingHandler{protectedoverrideTaskSendAsync(HttpRequestMessagerequest,CancellationTokencancellationToken){//docustomstuffherereturnbase.SendAsync(request,ca

c# - WebApi 中用于响应的 DelegatingHandler

我目前正在使用几个委托(delegate)处理程序(派生自DelegatingHandler的类)在发送请求之前处理请求,例如验证签名等。这一切都非常好,因为我不'必须对所有调用重复签名验证(例如)。我想对同一网络请求的响应使用相同的原则。是否有类似于DelegatingHandler的响应?以某种方式在返回到方法之前捕获响应的方法?附加信息:我正在使用HttpClient.PutAsync(...)调用webapi 最佳答案 是的。您可以在后续任务中执行此操作。我解释一下here.例如,这段代码(来自上面的博客)跟踪请求URI并向
12