ASP.NET 5中的Application_Start等效项

时间:2015-06-01 03:25:08

标签: asp.net-core

我在Startup类ConfigureServicesConfigure上遇到过两种方法。是否有与以前版本的asp.net中的Application_Start方法等效的应用程序启动时的任意工作?

修改

作为后续工作,ASP.NET 5在Startup类中可能采用的方法是什么?

3 个答案:

答案 0 :(得分:2)

如果我的理解没有错,那就没有这样平等的方法。相反,有两种不同的方法,ConfigureService和配置。

ConfigureService是一种为项目配置服务的方法。此方法的目的是为项目设置依赖项注入。这是在调用构造函数后首先触发的方法。

Configure是一种配置请求管道的方法。此方法将在ConfigureService之后执行。

您可以参考以下两个链接:

Asp.Net 5 Startup

Asp.Net 5 Startup 2

对于您的上一个问题,我没有在任何地方在Startup.cs类中找到任何其他方法文档或声明。

答案 1 :(得分:2)

正如Simple Man所说,ASP.NET 5中没有直接的等效方法;在适当的时候,您的服务应该遵循单一责任原则来启动类似的功能。 (最接近的是Configure方法,您应该在这里开始"开始"任何需要启动的服务"开始"。)但是,还有另外一种方法在Startup类中忽略了:构造函数。某些逻辑,例如加载配置文件,可能适合那里。

您可以在the Hosting repository.中查看方法在Startup类中的位置。只使用您提到的两种方法和Startup构造函数。

答案 2 :(得分:0)

您可以在.NET Core 2.0上使用IHostedService界面。

IHostedService后台任务的执行与应用程序的生命周期相协调。注册类时,您可以在应用程序的启动-停止阶段执行所需的任何操作,例如使用Application_Start和Application_End。

public void ConfigureServices(IServiceCollection services)
{
    services.AddSingleton<IHostedService, MyBackgroundStartupTask>();       
}

.NET Core 2.1以后提供了另一个选项。我们可以派生的抽象基类,名为BackgroundService