.net 应用程序没有';在SQL Azure故障转移发生时更新其连接,直到它';重新启动

.net 应用程序没有';在SQL Azure故障转移发生时更新其连接,直到它';重新启动,.net,azure-sql-database,failover,.net,Azure Sql Database,Failover,将web.config中的连接更改为指向故障转移组,然后在Azure中触发故障转移。我所期望的是,应用程序在转换过程中会有一段时间出现一些错误,但随后它会继续工作并访问新数据库 相反,它继续命中错误的数据库并获得“数据库为只读”异常(因为数据库已切换,并且它使用的数据库现在为只读)。如果我重新启动应用程序,它将按预期工作 是否存在连接字符串、应用程序设置或其他可以使其正确刷新连接而无需重新启动的内容 该应用程序是一个.NET web项目。对OLTP工作负载使用读写侦听器:执行OLTP操作时,使用

将web.config中的连接更改为指向故障转移组,然后在Azure中触发故障转移。我所期望的是,应用程序在转换过程中会有一段时间出现一些错误,但随后它会继续工作并访问新数据库

相反,它继续命中错误的数据库并获得“数据库为只读”异常(因为数据库已切换,并且它使用的数据库现在为只读)。如果我重新启动应用程序,它将按预期工作

是否存在连接字符串、应用程序设置或其他可以使其正确刷新连接而无需重新启动的内容


该应用程序是一个.NET web项目。

对OLTP工作负载使用读写侦听器:执行OLTP操作时,使用.database.windows.NET作为服务器URL,连接将自动定向到主服务器。故障转移后,此URL不会更改。注意:故障转移涉及更新DNS记录,因此只有在刷新客户端DNS缓存后,客户端连接才会重定向到新的主连接。我在连接字符串中使用故障转移组名称,它只是在重新启动之前不会更新它所访问的服务器,可能是因为它只解析DNS IP一次。您是否使用此处所述的自动故障转移组()或其他类似的方法。它工作得很好,因为如果我继续解析数据库URL,它会在故障切换完成时更新其IP地址,但我的应用程序似乎仍在缓存DNS条目,因此它不会进行故障切换