ASP.NET Core中的应用程序启动代码

凯尔·B:

阅读ASP.NET Core文档后,有两种启动方法可供选择:Configure和ConfigureServices。

这些似乎都不是放置我希望在启动时运行的自定义代码的好地方。也许我想在数据库中添加一个自定义字段(如果不存在),检查特定文件,将一些数据播种到数据库中,等等。我想在应用程序启动时运行一次的代码。

是否有首选/推荐的方法可以做到这一点?

拉尔夫·伯宁(RalfBönning):

在启动时,此类自定义代码基本上有两个入口点。

1.)Main方法

由于ASP.NET Core应用程序具有很好的旧Main方法作为入口点,因此您可以将代码放在ASP.NET Core启动内容之前,例如

public class Program
{
    public static void Main(string[] args)
    {
        // call custom startup logic here
        AppInitializer.Startup();

        var host = new WebHostBuilder()
            .UseKestrel()
            .UseContentRoot(Directory.GetCurrentDirectory())
            .UseIISIntegration()
            .UseStartup<Startup>()
            .Build();

        host.Run();
    }
}

2.)使用您的Startup课程

正如你在你的问题已经指出的是Configure,并ConfigureServices为您的自定义代码的好地方。

我希望Startup上课。从运行时的角度来看,无论是在启动时还是在host.Run()调用之前的其他位置调用该调用都没有关系但是从习惯于ASP.NET框架的程序员的角度来看,他对这种逻辑的第一个外观就是Startup.cs文件。所有示例和模板都将逻辑用于身份,实体框架初始化等。因此,按照惯例,我建议将初始化内容放在此处。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

在ASP.Net Core应用程序启动期间运行异步代码

在配置中添加 UseSession() 后,ASP.NET Core“启动应用程序时发生错误”

在IIS中启动ASP.NET Core应用程序时UNC路径无效

ASP Net Core MVC-在库中启动Web应用程序

对于Asp.Net Core MVC应用程序,应在源代码管理中存储什么?

ASP.Net Core应用程序中LocalAppData的路径

ASP.NET Core 2.0中的应用程序变量

启动ASP.NET Core应用程序后如何启动Web浏览器?

Visual Studio 2017中的Docker ASP.NET CORE 2.1应用程序。该应用程序无法在调试模式下启动

从另一个程序集启动 asp net core 应用程序

在没有应用程序原始源代码的情况下访问ASP.NET应用程序启动事件

启动ASP.NET MVC 4应用程序时执行代码

在 Asp.Net Core 2.0 中运行 Asp.Net 4.6.1 应用程序

ASP.NET Core发布错误:启动应用程序时发生错误

HTTP 错误 500.30 - ASP.NET Core 应用程序无法启动

防止在启动后重定向 ASP.NET Core MVC 应用程序

Azure WebApp Asp.NET Core 2错误:启动应用程序时发生错误

ASP .NET Core更改密码需要重新启动应用程序

覆盖默认错误页面 500.30 - ASP.NET Core 应用程序无法启动

在ASP.NET MVC应用程序中重新启动应用程序时擦除的数据

asp.net应用程序无法自动启动

ASP到底如何。NET核心Web应用程序启动

ASP.NET 应用程序未启动 - 404

启动异常后,ASP.NET Core 3.1 InProcess托管应用程序未重新启动

无法在IIS Express中启动asp.net核心Web应用程序

如何正确自动启动IIS10中的asp.net应用程序

ASP.NET Web应用程序(.NET Framework)与ASP.NET Core Web应用程序(.NET Framework)

默认网站中的ASP.Net Core和IIS中的应用程序中的WCF服务

ASP.NET Core中控制台应用程序和Web应用程序之间的区别