мне нужно некоторые разъяснения, как MS-DTC будет вести себя в случае приведенного нижеMSDTC и изоляция уровня
1) У меня есть более чем одно соединение в пределах TransactionScope (уровень изоляции - ReadCommited), что приведет MS- DTC в действие:
a) Будет ли MS-DTC автоматически менять уровень изоляции на SERIALIZABLE.
b) (Imp) Если выше ответ да, и я реализовал уровень изоляции на основе версии Row, т. Е. Помимо TransactionScope, я также включил параметр базы данных READ_COMMITTED_SNAPSHOT «ВКЛ», будет ли он оставаться в силе, будет ли он поддерживать Уровень изоляции «SERIALIZABLE».
void OuterMethod() {
TransactionOptions tso = new TransactionOptions();
tso.IsolationLevel = System.Transactions.IsolationLevel.ReadCommitted;
using (TransactionScope tx = new TransactionScope(TransactionScopeOption.RequiresNew, tso)) {
InnerMethod("select * from testtable");
InnerMethod("update testtable set col1 = N'new value'");
tx.Complete();
}
}
static void InnerMethod(string sqlText) {
using (SqlConnection conn = SqlConnection(connStr)) {
conn.Open();
SqlCommand cmd = conn.CreateCommand();
cmd.ExecuteNonQuery();
}
}
Благодаря
любой другой ответ подробно – Buzz