我在Startup类ConfigureServices
和Configure
上遇到过两种方法。是否有与以前版本的asp.net中的Application_Start
方法等效的应用程序启动时的任意工作?
修改
作为后续工作,ASP.NET 5在Startup类中可能采用的方法是什么?
答案 0 :(得分:2)
如果我的理解没有错,那就没有这样平等的方法。相反,有两种不同的方法,ConfigureService
和配置。
ConfigureService
是一种为项目配置服务的方法。此方法的目的是为项目设置依赖项注入。这是在调用构造函数后首先触发的方法。
Configure
是一种配置请求管道的方法。此方法将在ConfigureService
之后执行。
您可以参考以下两个链接:
对于您的上一个问题,我没有在任何地方在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