我正在使用 ASP.net 开发 MySQL Web 应用程序,我听说应该对 mysql 连接使用 using 指令,以确保在出现问题时连接始终关闭,因为他们不能保证数据库将如果发生捕获(取决于异常),则从finally语句内部关闭。
我正在尝试创建一个打开 MySQL 连接的类,这样我就不必每次需要访问数据库时都重复相同的代码。
我看到它是这样的
using (call class to open connection)
{
MySQL Stuff Here
}
我已经看到被调用来打开连接的类需要是 IDISOSABLE 类,但我不确定如何实现它。 但是,我找不到任何有关如何做到这一点的信息。感谢您的帮助。
最佳答案
实现 IDisposable
接口(interface)的典型方法是遵循文档中示例中列出的模式: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;
}
}
}
这种模式有很多变体,具体取决于您是否打算让其他人从您的类继承,以及您是否有任何需要关闭的非托管资源(如文件句柄),但对于正常使用,以上就足够了.
关于c# - 使用 IDisposable C# 连接 MySQL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5682223/