C# TransactionScope和Npgsql-准备好的事务问题
我有以下代码:C# TransactionScope和Npgsql-准备好的事务问题,c#,asp.net,database,transactionscope,C#,Asp.net,Database,Transactionscope,我有以下代码: //... using (TransactionScope tScope = new TransactionScope()) { using (NpgsqlConnection myConnection = new NpgsqlConnection(_MyConnectionString)) { try { myC
//...
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 server上,我已经准备好了事务。在我手动删除准备好的事务之前,应用程序不能和数据库服务器一起工作
有解决办法吗
顺便说一句,我使用的是Npgsql版本:2.0.11.91
致以最诚挚的问候我刚刚下载了新版本Npgsql2.0.11.92,它表明此版本中没有准备好的事务…或者,还有其他内容…如果引发异常,则代码中没有tScope.Complete()调用。应该有吗?