0

如何强制DbContext从配置重新读取连接字符串,而无需重新启动我的应用程序? 我在配置连接字符串中更改密码。 我使用Name = xxxx构造函数创建了一个DbContext的新实例。 但是在DbContext.Database.ConnectionString中仍旧是旧密码!如何强制DbContext从配置刷新连接字符串

+0

在启动时读入配置文件,在重新启动应用程序或网站之前,不能修改任何值。如果你编辑你的web.config,你的应用程序池将会自动重启。 –

回答

1

而不是从配置文件传递的连接字符串的名称,你可以仅仅通过在连接字符串的构造函数。

0
ConfigurationManager.RefreshSection("xxx") 

编辑:

看起来像EF缓存,因此即使德刷新doesnty工作明显。 所以试试这个 EF Runtime connection strings

+0

我已经试过了,但是这不会刷新DbContext。看起来,EF在应用程序启动时内部缓存连接字符串。每个新的DbContext实例都会像在应用程序启动时一样使用旧的Connection字符串。 –

+0

然后你将被迫动态地将连接传递给上下文 –