本文整理匯總了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);
}