当我们建立默认的 .NET Framework4.5.2框架下的Web  MVC 应用程序后,调试过程中我发现在程序启动页面加载完成会执行一段代码,这段代码让人有点摸不着头脑,因为之前完全没见过,调试了一下,还是不明白。然后我就查了很久的资料,虽然没有完全弄懂概念,但大致是什么算是了解一些了。

      首先了解“Startup.Auth.cs”这个文件:App_Start, 该文件夹包含应用程序的配置逻辑文件, 具体包括BundleConfig.cs, FilterConfig.cs, RouteConfig.cs, Startup.Auth.cs。BundleConfig.cs: 注册所使用的捆绑的CSS 和 JS文件。FilterConfig.cs: 注册外部/全局过滤器,这些过滤器可以被应用到每个Action和Controller中去。RouteConfig.cs: 配置MVC应用程序的系统路由路径。Startup.Auth.cs: 配置MVC应用程序的安全信息,包括Authentication和Authorization配置以及第三方Authentication Provider。

      然后了解一下“Startup.cs”这个文件:在根目录下的这个文件,主要是提供给OWIN(Open Web Interface for .NEt)应用程序使用,OWIN的目的是为了解耦服务器应用程序。例如在ASP.NET Identity使用OWIN security, SignalR self hosting使用OWIN hosting等情况下, 我们的MVC应用程序都有使用到OWIN, 所以,他们都相应的会使用到startup.cs所定义的Startup class. 关于OWIN的应用这里不作详述,这里提到OWN主要是为了说明Startup.cs文件的使用.

      因此下面就要了解OWIN的这个概念了,具体的我仔细看了一下这篇文章,首先膜拜一下。文章地址 http://www.360doc.com/userhome/14692560。

      下面就赘述一下我的浅薄见解了,希望大神们指点迷津。

      

      启动应用程序之后,当加载完_ViewStart、_Layout视图完成之后(这里设置了路由,启动程序直接进入地址+端口号式初始化地址),然后进入Startup类的Configuraion方法(注意这里有assembly:OwinStartupAttribute特性,这个特性)。