gpt4 book ai didi

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

转载 作者:IT王子 更新时间:2023-10-29 04:11:28 24 4
gpt4 key购买 nike

阅读documentation for ASP.NET Core , 有两种启动方法:Configure 和 ConfigureServices。

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

是否有首选/推荐的方法来执行此操作?

最佳答案

我同意 OP。

我的场景是,我想在服务注册表中注册一个微服务,但在微服务运行之前无法知道端点是什么。

我觉得 Configure 和 ConfigureServices 方法都不理想,因为它们都不是为执行这种处理而设计的。

另一种情况是想要预热缓存,这也是我们可能想要做的事情。

已接受的答案有多种选择:

  • 创建另一个在您的网站之外执行更新的应用程序,例如部署工具,它在启动网站之前以编程方式应用数据库更新

  • 在您的 Startup 类中,使用静态构造函数确保网站已准备好启动

更新

我认为最好的做法是像这样使用 IApplicationLifetime 接口(interface):

public class Startup
{
public void Configure(IApplicationLifetime lifetime)
{
lifetime.ApplicationStarted.Register(OnApplicationStarted);
}

public void OnApplicationStarted()
{
// Carry out your initialisation.
}
}

关于c# - ASP.NET Core 中的应用程序启动代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39047229/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com