TransactionScope 抛出异常。我正在使用 ASP.NET Core 和 Core 3.0。
我在 Windows 本地遇到以下问题:“此平台不支持分布式事务。”
我想同步两个数据库,并想使用 TransactionScope 在两个数据库中获得一致的状态。
当我使用 AppService 和 Azure Sql 将它部署到 Azure 时,它工作正常。
通常,当我使用 .net core 3.0 检查此链接时,它应该可以正常工作。 https://learn.microsoft.com/de-de/dotnet/api/system.transactions.transactionscope?view=netcore-3.0
希望有人能帮助我。
using (var scope = new TransactionScope())
{
-- database1
using (SqlConnection connection = new SqlConnection(connectionString_DB1))
{
using (System.Data.SqlClient.SqlCommand cmd = connection.CreateCommand())
{
....
connection.Open();
result = cmd.ExecuteNonQuery();
}
}
--database2
using (SqlConnection connection = new SqlConnection(connectionString_DB2))
{
using (System.Data.SqlClient.SqlCommand cmd = connection.CreateCommand())
{
....
connection.Open();
result = cmd.ExecuteNonQuery();
}
}
scope.Complete();
}
最佳答案
除了放置using
外,在using connection之后添加Close
方法调用。
我只是在使用 TransactionScope
时遇到同样的错误,同时显然连接到同一个数据库并放置 using
。大多数答案都说 Dispose
和 Close
是相同的,但似乎它们不是:从我从源代码中收集到的内容来看,Close
方法显式返回到池的连接,而我找不到用于 Dispose
的相同代码。
关于c# - TransactionScope 抛出异常 "This platform does not support distributed transactions.",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60954904/
相关文章:
maven - Visual Studio Code 终端无法使用代理
haskell - 使用 Haskell 从麦克风捕获音频输入?
perl - 为什么我的 perl Catalyst redirect_and_detach 替换插
emacs - 如何将ctags格式文件转换为etags格式文件?
python - Flask App 进行多次登录尝试的奇怪行为
oracle - 无法使用 confluent CLI : java. sql.SQLExcepti
python-3.x - Python 3.8 将 "open"视为导入的 openpyxl 方法而
r - 将 ggpredict() 和 ggplot2() 与缩放的连续变量一起使用并尝试取消缩放它