有没有可能在不支持分布式事务的情况下使用System.Transactions编程模型?
就像这样
TransactionConfig.DisablePromotion = true;发布于 2009-10-09 09:01:41
我不认为有一个直接的方法来禁用促销。您可能需要查看导致事务升级的情况。Juval Lowy写了一个关于System.Transactions的优秀的whitepaper (也可以下载here)。他详细介绍了促销规则。
发布于 2013-03-19 06:14:35
我在禁用MSDTC服务的情况下使用以下代码。
var txOpts = new TransactionOptions
{
IsolationLevel = IsolationLevel.ReadCommitted,
Timeout = TimeSpan.FromMinutes(10)};
using (var tx = new TransactionScope(TransactionScopeOption.Suppress, txOpts))
{
using (var db1 = new ObjectContext(connection1))
{
db1.Connection.Open();
using (var db1tx = db1.Connection.BeginTransaction(
System.Data.IsolationLevel.ReadCommitted))
{
using (var db2 = new ObjectContext(connection2))
{
db2.Connection.Open();
using (var db2tx = db2.Connection.BeginTransaction(
System.Data.IsolationLevel.ReadCommitted))
{
// do stuff
db1.SaveChanges(false);
db2.SaveChanges(false);
db1tx.Commit();
db2tx.Commit();
tx.Complete();
}
}
}
}
}https://stackoverflow.com/questions/1542605
复制相似问题