【问题标题】:What is the new Startup.cs file for in Visual Studio 2013 projects?Visual Studio 2013 项目中的新 Startup.cs 文件是什么?
【发布时间】:2013-11-17 17:53:16
【问题描述】:

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

这是什么,它与 Global.asax.cs 有什么不同,有什么好的最佳实践来说明它的用途吗?

【问题讨论】:

    标签: asp.net-mvc visual-studio-2013 owin


    【解决方案1】:

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

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

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

    更多详情:

    欧文

    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

    【讨论】:

    • 我认为这与 OWIN 没有任何关系。
    • 这与 .net core startup.cs 文件有什么关系?
    【解决方案2】:

    该文件似乎与 SignalR 有关。引用VS 2013 release notes

    基于 OWIN 构建

    SignalR 2.0 完全建立在 OWIN(用于 。网)。此更改使 SignalR 的设置过程更加丰富 在 Web 托管和自托管 SignalR 应用程序之间保持一致, 但也需要进行一些 API 更改。

    MapHubs 和 MapConnection 现在是 MapSignalR

    为了与 OWIN 标准兼容,这些方法已重命名 到 MapSignalR。不带参数调用的 MapSignalR 将映射所有集线器 (就像 MapHubs 在 1.x 版本中所做的那样);映射个人 PersistentConnection 对象,指定连接类型为类型 参数,并将连接的 URL 扩展名作为第一个 论据。

    在 Owin 启动类中调用 MapSignalR 方法。视觉的 Studio 2013 包含一个 Owin 启动类的新模板;使用 此模板,请执行以下操作:

    1. 右键单击项目
    2. 选择添加、新项目...
    3. 选择 Owin 启动类。将新类命名为 Startup.cs。

    在 Web 应用程序中,包含 MapSignalR 的 Owin 启动类 然后使用 Web.Config文件的应用设置节点,如下图。

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

    【讨论】:

      【解决方案3】:

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

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

      【讨论】:

        猜你喜欢
        • 2016-07-24
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-11-09
        • 2023-03-22
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多