簡體   English   中英

使用IDisposable C#的MySQL連接

[英]MySQL Connection using IDisposable C#

我正在使用ASP.net開發MySQL Web App,並且聽說mysql連接應使用using指令,以確保在出現問題時始終關閉連接,因為它們不能保證數據庫將從內部關閉最終聲明是否已發生捕獲(取決於異常)。

我正在嘗試創建一個打開MySQL連接的類,因此不必每次訪問數據庫時都重復相同的代碼。

我已經看到它就像

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

我已經看到,被用來打開連接的類必須是IDISOSABLe類,但我不確定如何實現此類。 但是,我找不到有關如何完成此操作的任何信息。 謝謝你的幫助。

實現IDisposable接口的典型方法是遵循文檔中示例中列出的模式: http : //msdn.microsoft.com/zh-cn/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;
        }
    }
}

此模式有多種變體,取決於您是否打算讓其他人從您的類繼承,以及是否需要關閉任何非托管資源(如文件句柄),但是對於正常使用而言,以上足夠了。

MSDN :)

http://msdn.microsoft.com/en-us/library/system.idisposable.dispose.aspx#Y800

但是,我不確定自己要實現的目標會對您有什么好處。 包裝器類與僅使用連接對象有何不同?

您正在使用哪種數據訪問設計模式?

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM