zoukankan      html  css  js  c++  java
  • WebApi HttpMsgHanler的执行顺序

    原来忘记在哪个大牛的博客上看到的,说添加顺序与执行顺序是相反的,事实在下边:直接上代码:

    //STEP10,不论如何先记录下来请求信息
                if (msgHandlerSettings.LoggingHandlerConfig.Enable)
                {
                    config.MessageHandlers.Add(new LoggingHandler(
                        _CreateInstance(msgHandlerSettings.LoggingHandlerConfig.LoggingRepositoryType) as ILoggingRepository));
                }
    
                //STEP11,检查数据在传输过程中是否被篡改
                if (msgHandlerSettings.SignHandlerConfig.Enable)
                {
                    config.MessageHandlers.Add(new SignHandler());
                }
    
                //STEP12,请求数据转化成标准JSON格式
                if (msgHandlerSettings.ContentParserHandlerConfig.Enable)
                {
                    config.MessageHandlers.Add(new ContentParserHandler(
                         _CreateInstance(msgHandlerSettings.ContentParserHandlerConfig.ContentParserType) as IContentParser));
                }
    View Code

    程序输出:

    Req___LoggingHandler Begin
    Req___LoggingHandler End
    Req___SignHandler Begin
    Req___SignHandler End
    Req___ContentParserHandler Begin
    Req___ContentParserHandler End
    ..............................................................
    Res___ContentParserHandler Begin
    Res___ContentParserHandler End
    Res___SignHandler Begin
    Res___SignHandler End
    Res___LoggingHandler Begin
    Res___LoggingHandler End
    线程 '<无名称>' (0x1cf0) 已退出,返回值为 0 (0x0)。
    程序“[1420] iisexpress.exe: 托管(v4.0.30319)”已退出,返回值为 0 (0x0)。
    程序“[1420] iisexpress.exe: 程序跟踪”已退出,返回值为 0 (0x0)。

  • 相关阅读:
    postman的几个问题
    服了这个所谓北大青鸟官方学员社区论坛
    Gatling实战(三)
    Gatling实战(二)
    Gatling实战(一)
    httplib和urllib2常用方法
    jmeter的新增函数说明
    windows版jmeter的body data如何用 作为“换行”
    linux下oracle服务启动关闭
    linux下ORACLE监听日志的正确删除步骤
  • 原文地址:https://www.cnblogs.com/smlheart/p/3585947.html
Copyright © 2011-2022 走看看