TransactionScope 和 Npgsql - 准备好的事务问题
我有以下代码:
//...
using (TransactionScope tScope = new TransactionScope())
{
using (NpgsqlConnection myConnection = new NpgsqlConnection(_MyConnectionString))
{
try
{
myConnection.Open();
//...
tScope.Complete();
}
catch (Exception ex)
{
logger.Error(ex);
}
finally
{
myConnection.Close();
}
}
}
//...
问题是,当发生某些错误时,transactionscope 会回滚,但是,在 PostgreSQL 服务器上我已经准备好了事务。在我手动删除准备好的事务之前,应用程序无法与数据库服务器一起工作。
有什么解决办法吗?
顺便说一句,我使用 Npgsql 版本:2.0.11.91
最好的问候
I have following code:
//...
using (TransactionScope tScope = new TransactionScope())
{
using (NpgsqlConnection myConnection = new NpgsqlConnection(_MyConnectionString))
{
try
{
myConnection.Open();
//...
tScope.Complete();
}
catch (Exception ex)
{
logger.Error(ex);
}
finally
{
myConnection.Close();
}
}
}
//...
The problem is, when some error occurred transactionscope do rollback, but, on the PostgreSQL server I have prepared transaction. And applications can not work anything with database server until I delete prepared transaction manualy.
Any solution?
BTW, I use Npgsql version: 2.0.11.91
Best regards
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论