使IIS开始通过Owin管道响应请求的过程是什么?

Rui

如果您在Visual Studio 2013中创建一个空的ASP.NET Web应用程序项目,请打开程序包管理器控制台并安装程序包Microsoft.Owin.Host.SystemWeb

使用Configuration(IAppBuilder app)方法添加一个Startup类,例如:

public class Startup
{
    public void Configuration(IAppBuilder app)
    {
        app.Run(context => context.Response.WriteAsync("hello"));
    }
}

运行后,您会在浏览器中看到问候。但是,如果您查看项目,则对任何文件(即web.config)都没有任何更改,这表明正在使用Owin管道。更重要的是,如果您具有Startup类,但未安装Microsoft.Owin.Host.SystemWeb包,则将永远不会运行Startup的Configuration方法。

我怀疑是否有一个自定义模块和处理程序参与了所有这些工作,但是找不到有关它的任何文档。我能找到的唯一触及这个主题的东西就是这个

您如何仅通过引用一些dll即可更改处理请求的方式?

Raja Nadar |

从ASP.NET 4开始,您现在可以使用特殊约定在代码(引用的DLL或源代码)中定义自定义类,并在管道的早期阶段通过ASP.NET系统对其进行调用。

只需使用PreApplicationStartMethodAttribute进行标记

Microsoft.Owin.Host.SystemWeb程序集利用此功能,如果我们在代码上进行反思,我们可以看到此启动方法注册了Owin模块:

public static class PreApplicationStart
{
    private const string TraceName = "Microsoft.Owin.Host.SystemWeb.PreApplicationStart";

    /// <summary>
    /// Registers the OWIN request processing module.
    /// </summary>
    public static void Initialize()
    {
        try
        {
            if (OwinBuilder.IsAutomaticAppStartupEnabled)
            {
                HttpApplication.RegisterModule(typeof(OwinHttpModule));
            }
        }
        catch (Exception exception1)
        {
            Exception exception = exception1;
            ITrace trace = TraceFactory.Create("Microsoft.Owin.Host.SystemWeb.PreApplicationStart");
            trace.WriteError(Resources.Trace_RegisterModuleException, exception);
            throw;
        }
    }
}

从那时起,OwinHttpModule接管并进入OwinBuilderOwinAppContext流,后者Startup在您的程序集中查找该类以调用该Configuration方法。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

解码SAML请求的过程是什么?

来自分类Dev

此URL请求的http请求和响应正文是什么?

来自分类Dev

通过使用 scapy 发送 ARP 请求并捕获响应来扫描本地网络的正确方法是什么?

来自分类Dev

通过管道而不是 websocket 连接 Puppeteer 的优缺点是什么

来自分类Dev

是什么原因导致signin-google返回“未找到”(UseExternalSignInCookie中断了owin管道)?

来自分类Dev

快速响应此curl请求是什么

来自分类Dev

HTTP请求的904事务结束响应是什么

来自分类Dev

这个过程是什么?

来自分类Dev

通过cqlsh请求对Cassandra执行减法的最佳方法是什么?

来自分类Dev

HTTP请求中通过POST允许的ASCII字符是什么?

来自分类Dev

当(仅当)过长时,通过分页器通过管道传递命令输出的最佳方法是什么?

来自分类Dev

当(仅当)过长时,通过分页器通过管道传递命令输出的最佳方法是什么?

来自分类Dev

在通话过程中关闭浏览器时,ajax响应是什么?

来自分类Dev

在 Jenkins 管道中,执行相互认证 REST 请求的正确方法是什么?

来自分类Dev

为什么我可以通过正常的浏览器请求得到Ajax请求的响应?

来自分类Dev

ngModel。$ validators管道是什么?

来自分类Dev

了解HTTP POST请求/响应过程

来自分类Dev

这个过程的逻辑是什么

来自分类Dev

ArrayList执行的过程是什么?

来自分类Dev

这个过程的逻辑是什么

来自分类Dev

如果不是我的代码,那么在IIS上花费的时间是什么?请求排队了吗?

来自分类Dev

将事物通过管道传输到echo或print时,STDIN的参数调用是什么?

来自分类Dev

将事物通过管道传输到echo或print时,STDIN的参数调用是什么?

来自分类Dev

WCF,WebAPI和OWIN IIS集成管道。根据路线跳过OWIN

来自分类Dev

Codeigniter:数据传递通过表单控制器进行查看背后的过程是什么?

来自分类Dev

在响应本机中孤立请求的任务–这是什么意思?

来自分类Dev

发送几个异步API请求并并行处理响应的正确方法是什么?

来自分类Dev

将示例JSON请求主体(而非响应)转换为c#对象列表的语法是什么?

来自分类Dev

当请求实现IReturnVoid时,响应的HTTP状态代码是什么?

Related 相关文章

  1. 1

    解码SAML请求的过程是什么?

  2. 2

    此URL请求的http请求和响应正文是什么?

  3. 3

    通过使用 scapy 发送 ARP 请求并捕获响应来扫描本地网络的正确方法是什么?

  4. 4

    通过管道而不是 websocket 连接 Puppeteer 的优缺点是什么

  5. 5

    是什么原因导致signin-google返回“未找到”(UseExternalSignInCookie中断了owin管道)?

  6. 6

    快速响应此curl请求是什么

  7. 7

    HTTP请求的904事务结束响应是什么

  8. 8

    这个过程是什么?

  9. 9

    通过cqlsh请求对Cassandra执行减法的最佳方法是什么?

  10. 10

    HTTP请求中通过POST允许的ASCII字符是什么?

  11. 11

    当(仅当)过长时,通过分页器通过管道传递命令输出的最佳方法是什么?

  12. 12

    当(仅当)过长时,通过分页器通过管道传递命令输出的最佳方法是什么?

  13. 13

    在通话过程中关闭浏览器时,ajax响应是什么?

  14. 14

    在 Jenkins 管道中,执行相互认证 REST 请求的正确方法是什么?

  15. 15

    为什么我可以通过正常的浏览器请求得到Ajax请求的响应?

  16. 16

    ngModel。$ validators管道是什么?

  17. 17

    了解HTTP POST请求/响应过程

  18. 18

    这个过程的逻辑是什么

  19. 19

    ArrayList执行的过程是什么?

  20. 20

    这个过程的逻辑是什么

  21. 21

    如果不是我的代码,那么在IIS上花费的时间是什么?请求排队了吗?

  22. 22

    将事物通过管道传输到echo或print时,STDIN的参数调用是什么?

  23. 23

    将事物通过管道传输到echo或print时,STDIN的参数调用是什么?

  24. 24

    WCF,WebAPI和OWIN IIS集成管道。根据路线跳过OWIN

  25. 25

    Codeigniter:数据传递通过表单控制器进行查看背后的过程是什么?

  26. 26

    在响应本机中孤立请求的任务–这是什么意思?

  27. 27

    发送几个异步API请求并并行处理响应的正确方法是什么?

  28. 28

    将示例JSON请求主体(而非响应)转换为c#对象列表的语法是什么?

  29. 29

    当请求实现IReturnVoid时,响应的HTTP状态代码是什么?

热门标签

归档