本文整理汇总了C#中MySql.Data.MySqlClient.MySqlConnectionStringBuilder.Equals方法的典型用法代码示例。如果您正苦于以下问题:C# MySqlConnectionStringBuilder.Equals方法的具体用法?C# MySqlConnectionStringBuilder.Equals怎么用?C# MySqlConnectionStringBuilder.Equals使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类MySql.Data.MySqlClient.MySqlConnectionStringBuilder
的用法示例。
在下文中一共展示了MySqlConnectionStringBuilder.Equals方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: GetNewConnection
/// <summary>
/// Assigns a new server driver to the connection object
/// </summary>
/// <param name="groupName">Group name</param>
/// <param name="master">True if the server connection to assign must be a master</param>
/// <param name="connection">MySqlConnection object where the new driver will be assigned</param>
internal static void GetNewConnection(string groupName, bool master, MySqlConnection connection)
{
do
{
lock (thisLock)
{
if (!IsReplicationGroup(groupName)) return;
ReplicationServerGroup group = GetGroup(groupName);
ReplicationServer server = group.GetServer(master, connection.Settings);
if (server == null)
throw new MySqlException("Properties.Resources.Replication_NoAvailableServer");
try
{
bool isNewServer = false;
if (connection.driver == null || !connection.driver.IsOpen)
{
isNewServer = true;
}
else
{
MySqlConnectionStringBuilder msb = new MySqlConnectionStringBuilder(server.ConnectionString);
if (!msb.Equals(connection.driver.Settings))
{
isNewServer = true;
}
}
if (isNewServer)
{
Driver driver = Driver.Create(new MySqlConnectionStringBuilder(server.ConnectionString));
connection.driver = driver;
}
return;
}
catch (MySqlException ex)
{
connection.driver = null;
server.IsAvailable = false;
MySqlTrace.LogError(ex.Number, ex.ToString());
if (ex.Number == 1042)
{
// retry to open a failed connection and update its status
group.HandleFailover(server, ex);
}
else
throw;
}
}
} while (true);
}