【发布时间】:2023-08-09 09:40:02
【问题描述】:
如何在 stylecop 中定义规则强制开发者关闭 SQLDataReader() 或连接?
如果有其他解决方案,也请提出建议。
需要的解决方案是强制开发者关闭sqldatareader
或
我们可以在 DAL 或任何其他方法中进行任何其他更改,以确保数据读取器的连接已关闭..
【问题讨论】:
标签: c# database-connection sqldatareader stylecop
如何在 stylecop 中定义规则强制开发者关闭 SQLDataReader() 或连接?
如果有其他解决方案,也请提出建议。
需要的解决方案是强制开发者关闭sqldatareader
或
我们可以在 DAL 或任何其他方法中进行任何其他更改,以确保数据读取器的连接已关闭..
【问题讨论】:
标签: c# database-connection sqldatareader stylecop
使用委托怎么样?我不知道你的确切架构,但我们已经将ExecuteReader() 方法包装在我们自己的方法中,我们称之为ExecuteReaderWrapper() 以确保使用正确的数据库连接等。ExecuteReaderWrapper() 基本上只返回返回的SqlDataReader ExecuteReader().
现在我们不使用这些方法编写任何自定义代码(我们使用DataSets 代替),所以我们没有您遇到的问题。但一种选择是将ExecuteReaderWrapper() 更改为期待代表而不是返回SqlDataReader。然后ExecuteReaderWrapper() 会将SqlDataReader 传递给委托,然后再进行所有必需的清理。那么开发者完全不用担心关闭。
【讨论】: