繁体   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