OWIN是否还调用了MVC(ASP.NET MVC)?

Dan*_*tle 18 owin asp.net-mvc-5

查看Visual Studio 2013中的标准新MVC 5项目,您可以看到它现在包含OWIN.

有一个新的OWIN Startup类配置auth然而我无法看到MVC5如何/在哪里注册OWIN.这发生在哪里?

我假设所有请求在进入MVC管道之前都通过OWIN.为什么他们会包括OWIN?

  • 请注意:我不是在问OWIN是如何设置的,这在文档中很容易解释.我对MVC5如何使用OWIN感兴趣.

Dan*_*tle 18

更新:我想出了为什么MVC5使用OWIN,即使请求是由IIS管道而不是OWIN处理的.

MVC5没有通过OWIN,但看起来这可能会在未来发生变化.相反,MVC目前仍需要通过IIS集成管道.OWIN包含在默认MVC项目中的原因是MVC5可以使用Owin中间件组件.

来自iis集成管道中OWIN中间件:

为了使OMC参与同样的基于事件的执行排序,Katana运行时代码扫描启动配置并将每个中间件组件订阅到集成管道事件.

这在ASP.NET vNext中发生了变化,因为Web.Api和MVC已经合并并放弃了System.Web,转而支持OWIN和项目Helios.


jd4*_*d4u 8

  • MVC 5未在OWIN注册.
  • OWIN在application(PreApplicationStartMethod)之前注册.
  • 在预应用程序启动时,OwinStartup注册类用于配置当前应用程序.

[assembly: OwinStartup(typeof(WebApplication1.Startup))]

上面的行将startup.cs加载类以配置OWIN.进一步了解OWIN Startup类检测