c# - OracleConnection:什么是 Clearpool、Dispose 和 Close?
问题描述
我想了解OracleConnection中的Clearpool
,Dispose
,做什么?Close
发生异常后,我想摆脱当前连接并使用相同的连接字符串创建一个全新的连接。我应该如何摆脱旧的连接?
我应该先清除池还是处理连接?clearpool vs dispose/close 有什么作用?
我当前的代码如下:
public virtual void Dispose()
{
try
{
_connection.Close();
}
catch (Exception e)
{
}
finally
{
_connection.Dispose();
_connection.ClearPool();
_connection = null;
}
}
解决方案
using
解决此问题的最简单方法是在块内创建连接。每当块执行完成时,该块内的所有内容都将被释放。另外,不要留下没有动作的捕获物。这可能会以您不会意识到的静默异常结束。
using(OracleConnection conn = new OracleConnection("yourConnStr"))
{
//ALL YOUR LOGIC INSIDE
}
推荐阅读
- c# - 命令行参数的编码 C#
- python - 在模板中自动将 None 呈现为 null?
- angular - 如何使用 Angular 7 和 asp.net web api 实现 ValidateAntiForgeryToken
- python - 使用 asyncio aiofiles 解析大量 HTML 文件并在 pandas DataFrame 中解析它们
- google-sheets - 谷歌表格条件格式
- audio - 根据 FFMPEG 中的音频信息进行缩放和移动
- c++ - 通过c++ tensorflow接口获取模型的输入输出节点信息
- gremlin - janusgraph 日期值与 gremlin 查询结果不匹配
- swift - 在 NSUserDefaults 中存储可选的布尔值
- android - 发现任务 ':app:processDebugResources' 的配置有问题