更改连接字符串后 ASP.NET Core 重新注册 dbcontext

2024-01-08

我有一个 ASP.NET Core 应用程序,在配置文件中有一个连接字符串键。

如果它的值不正确(例如数据库名称、IP 地址等),我希望在用户在配置文件中手动更改它后能够使用新的连接字符串重新注册此 dbcontext 服务。

如何实现这一目标?这被认为是一种不好的做法吗?

谢谢。


我看到你正在使用asp.net core。

理想情况下,您不应在应用程序运行时更改连接字符串,因为这可能会导致 Web 应用程序重置(取决于启动配置和 Web 服务器)。

为了回答您的问题,您可以在应用程序运行时更改配置。 ReloadOnChange 参数对您很有用。

只要 appsettings.json 配置文件发生更改,下面的代码就会将 reloadOnChange 设置为 true。

public static IWebHostBuilder CreateWebHostBuilder(string[] args) =>
    WebHost.CreateDefaultBuilder(args)
        .ConfigureAppConfiguration((hostingContext, config) =>
        {
            config.AddJsonFile("appsettings.json", optional: false, reloadOnChange: true);
        })
        .UseStartup<Startup>();

参考:https://learn.microsoft.com/en-us/aspnet/core/fundamentals/configuration/?view=aspnetcore-2.2 https://learn.microsoft.com/en-us/aspnet/core/fundamentals/configuration/?view=aspnetcore-2.2

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

更改连接字符串后 ASP.NET Core 重新注册 dbcontext 的相关文章

随机推荐