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)。

  • 相关阅读:
    EZOJ #202
    EZOJ #201
    p5156 [USACO18DEC]Sort It Out
    p4363 [九省联考2018]一双木棋chess
    p2150 [NOI2015]寿司晚宴
    p5155 [USACO18DEC]Balance Beam
    p2414 [NOI2011]阿狸的打字机
    实验室断网的解决方案
    人需要看到未来
    门德尔松--罗辑思维
  • 原文地址:https://www.cnblogs.com/smlheart/p/3585947.html
Copyright © 2011-2022 走看看