2011-04-15 66 views
2

我正在開發一個使用ASP.net的MySQL Web應用程序,我聽說使用指令應該用於mysql連接,以確保連接總是關閉,如果出現問題,因爲它們是否保證如果發生捕獲,數據庫將從finally語句中關閉(取決於異常)。使用IDisposable C#的MySQL連接#

我想創建一個打開MySQL連接的類,所以我沒有必要在每次需要訪問數據庫時重複相同的代碼。

我已經看到,它是像

using (call class to open connection) 
{ 
    MySQL Stuff Here 
} 

我已經看到,這是被稱爲打開連接類需要是IDISOSABLe類,但我不知道我怎樣才能實現這一點。 但是,我無法找到有關如何完成這些任務的任何信息。謝謝你的幫助。

回答

4

實現IDisposable接口的典型方法是按照文檔中的示例中的佈局模式:http://msdn.microsoft.com/en-us/library/system.idisposable.aspx

基本上,你的類應該/應該是這樣的:

public sealed class YourClass : IDisposable 
{ 
    private MySqlConnection _Connection; 
    private bool _IsDisposed; 

    public YourClass() 
    { 
     _Connection = new MySqlConnection(); 
    } 

    public void Dispose() 
    { 
     if (!_IsDisposed) 
     { 
      _Connection.Dispose(); // or Close 
      _IsDisposed = false; 
     } 
    } 
} 

有這種模式有許多變種,這取決於你是否打算讓其他人繼承你的類,以及你是否有任何需要關閉的非託管資源(如文件句柄),但是對於正常使用來說,上述就足夠了。

+0

非常感謝您的幫助,比在線更簡單的例子。再次感謝 – Boardy 2011-04-15 21:22:39