c# - 使用时如何确定是否需要在 MySqlConnection 中调用 Close()?
问题描述
使用 MySql.Data.MySqlClient;
带有“使用”的简单连接代码:
using (IDbConnection sql = new MySqlConnection(ConnectionString))
{
try
{
sql.Open();
var x = sql.Execute("query...");
}
catch (Exception ex)
{
Console.WriteLine(ex.Message);
}
}
“使用”调用 Dispose(),但如果 Dispose() 调用 Close()?
使用时如何确定是否需要在 MySqlConnection 中调用 Close()?
解决方案
没做什么。
Dispose
将正确关闭连接。
从文档:
Dispose() - 释放 MySqlConnection 使用的所有资源
形成MySqlConnection.Dispose的源代码
void IDisposable.Dispose()
{
if (State == ConnectionState.Open)
Close();
}
推荐阅读
- django - 我如何使用 drf 序列化程序将数据序列化为 json
- javascript - 叠加两张不同投影的地图?
- google-cloud-firestore - 离子 3 中的 Firebase.Auth.UserMetadata 变量 a 和 b
- android - AsyncTask 数组创建
- python - 为什么在 PyPy 中从用户输入构建列表并打印其内容比 CPython 慢得多?
- java - Java:默认继承所有超类的构造函数
- hive - 在蜂巢中获取时差
- docker - Jenkins Docker 镜像,是否使用绑定挂载?
- javascript - 我可以在 React Router 的 Switch 中使用高阶私有路由组件吗?
- exception - ASP.NET Core Web Api 中间件自定义异常