问题描述
|
我正在使用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
但是,我不确定自己要实现的目标会对您有什么好处。包装器类与仅使用连接对象有何不同?
您正在使用哪种数据访问设计模式?