切换数据库时应用程序保持旧的SQL连接(C#)

时间:2018-03-27 03:49:38

标签: c# sql-server database-connection load-balancing haproxy

我有两个SQL Server数据库,服务器名称为sql1sql2

当我将数据库从sql1切换到sql2(使用HaProxy)时,我的应用程序仍保留与服务器sql1的旧SQL连接。

但是,其他应用程序(使用Linq-to-SQL)可以获得与sql2的新SQL连接。

请参阅下面的代码,我用它来连接SQL Server:

using (var conn = new SqlConnection(ConfigurationManager.ConnectionStrings["sqlserver"].ConnectionString))
{
    using (SqlCommand command = new SqlCommand())
    {
        conn.Open();

        //do something...

        conn.Close();

        return data;
    }
}

我的问题是什么?我该如何解决这个问题?谢谢!

1 个答案:

答案 0 :(得分:0)

您需要知道HAProxy侦听配置,可能您的HAProxy已编程异常,或者重定向仅在您使用特定IP地址目的地或来自特定IP范围时才有效。请比较每种情况下使用的连接字符串。

https://www.stevefenton.co.uk/2016/11/load-balancing-microsoft-sql-server-with-haproxy/