我有一个Windows服务问题,当尝试处置以这种方式创建的阅读器时,该服务崩溃了:
drOra = cmdOra.ExecuteReader(CommandBehavior.CloseConnection)
处置位于Final块中,检查是否为空
If Not drOra Is Nothing Then drOra.Dispose()
甚至当我将其放置到捕获器中时,Windows服务仍然崩溃。
因此,我修改为使用USING语句,现在该块崩溃了。
我使用ODP.NET版本2.121而不是4.121临时修复了该问题,但希望了解为什么会发生此类崩溃。我无法获得输出,因为它没有到达catch块。
这是非托管提供商。
答案 0 :(得分:0)
我重构了代码以正确关闭连接和适配器,并删除了CommandBehavior.CloseConnection引用。
一旦我这样做,一切都会开始正常工作。