加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

asp.net – HttpMessageHandler与DelegatingHandler

发布时间:2020-12-16 04:21:21 所属栏目:asp.Net 来源:网络整理
导读:DelegatingHandler继承自HttpMessageHandler.但是,我不明白其中的区别,因为你必须实现相同的方法,SendAsync才能使两者都有效. 这两个处理程序有什么区别?我什么时候应该使用每一个? 解决方法 如果您熟悉ASP.NET,那么一个很好的类比将是HTTP处理程序和模块.
DelegatingHandler继承自HttpMessageHandler.但是,我不明白其中的区别,因为你必须实现相同的方法,SendAsync才能使两者都有效.

这两个处理程序有什么区别?我什么时候应该使用每一个?

解决方法

如果您熟悉ASP.NET,那么一个很好的类比将是HTTP处理程序和模块.如果实现HttpMessageHandler,则实现Send和SendAsync方法并返回响应的响应或承诺.这类似于Http处理程序.如果您实现了DelegatingHandler并将其添加到config.MessageHandlers集合中,那么您的类将在管道中运行,并且有机会查看请求和响应并做出反应,就像HTTP模块一样. DelegatingHandler也是一个HttpMessageHandler,除了作为SendAsync实现的一部分,它只调用内部处理程序的SendAsync.内部处理程序将执行相同的操作,您将获得中文框或俄罗斯玩偶效果.管道启动的HttpServer本身就是DelegatingHandler.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读