Visual Studio 2013项目中的新Startup.cs文件是什么?

Mar*_*man 55 asp.net-mvc owin visual-studio-2013

我刚刚安装了Visual Studio 2013,创建了一个MVC Web应用程序项目,并在项目模板中注意到一个名为Startup.cs的新文件.

这是什么,这与Global.asax.cs有何不同,是否有任何关于使用它的最佳实践?

Lin*_*Lin 32

每个OWIN应用程序都有一个启动类,您可以在其中指定应用程序管道的组件.

如果您启动一个新的Visual Studio项目,您将看到其中的OWIN部分.OWIN是一种规范,用于定义框架和服务器的API以进行协作.OWIN的目的是解耦服务器和应用程序.例如,ASP.NET Identity使用OWIN安全性,SignalR自托管使用OWIN托管等,这些示例都使用OWIN,因此它们都需要有一个启动类,在"Startup.cs"文件中定义.

Global.asax是ASP.NET应用程序文件,是一个可选文件,包含用于响应ASP.NET或HttpModules引发的应用程序级事件的代码.

更多细节:

OWIN

http://www.asp.net/aspnet/overview/owin-and-katana

Global.asax中

http://msdn.microsoft.com/en-us/library/1xaas8a2(v=vs.71).aspx

您可以在以下文章中找到有关OWIN原因的更多信息:

http://www.asp.net/aspnet/overview/owin-and-katana/an-overview-of-project-katana


use*_*702 7

该文件似乎与SignalR有关.引用VS 2013发行说明:

建立在OWIN上

SignalR 2.0完全基于OWIN(.NET的开放Web界面)构建.这一变化使得SignalR的设置过程在Web托管和自托管SignalR应用程序之间更加一致,但也需要进行大量的API更改.

MapHubs和MapConnection现在是MapSignalR

为了与OWIN标准兼容,这些方法已重命名为MapSignalR.不带参数调用的MapSignalR将映射所有集线器(如版本1.x中的MapHubs所示); 映射单个PersistentConnection对象,将连接类型指定为类型参数,并将连接的URL扩展指定为第一个参数.

在Owin启动类中调用MapSignalR方法.Visual Studio 2013包含Owin启动类的新模板; 要使用此模板,请执行以下操作:

  1. 右键单击该项目
  2. 选择添加,新项目...
  3. 选择Owin Startup类.将新类命名为Startup.cs.

在Web应用程序中,使用Web.Config文件的应用程序设置节点中的条目将包含MapSignalR方法的Owin启动类添加到Owin的启动过程,如下所示.

在自托管应用程序中,Startup类作为WebApp.Start方法的type参数传递.


cec*_*lip 6

Startup类是Katana/OWIN寻找初始化管道的惯例.当您的应用程序启动时,将运行Configuration函数内部的代码来设置将要使用的组件.在MVC 5模板中,它用于连接所有构建在OWIN之上的身份验证中间件.

如果你想使用依赖注入OWIN,请在GitHub上查看这个项目:DotNetDoodle.Owin.Dependencies