微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

使用IDisposable C#的MySQL连接

如何解决使用IDisposable C#的MySQL连接

| 我正在使用ASP.net开发MysqL Web App,并且听说MysqL连接应使用using指令,以确保在出现问题时始终关闭连接,因为它们不能保证数据库将从内部关闭最终声明是否发生了捕获(取决于异常)。 我正在尝试创建一个打开MysqL连接的类,这样就不必在每次访问数据库时都重复相同的代码。 我已经看到它就像
using (call class to open connection)
{
     MysqL Stuff Here
}
我已经看到,被称为打开连接的类必须是IdisOSABLe类,但是我不确定如何实现该类。 但是,我找不到有关如何完成此操作的任何信息。谢谢你的帮助。     

解决方法

实现“ 1”接口的典型方法是遵循文档中示例中列出的模式: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/zh-cn/library/system.idisposable.dispose.aspx#Y800 但是,我不确定自己要实现的目标会对您有什么好处。包装器类与仅使用连接对象有何不同? 您正在使用哪种数据访问设计模式?     

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。