В моем проекте DAL - это служба WCF .Net4.0. с использованием базы данных oracle 11g. Я использую область транзакции в WCF (на стороне сервера). Мне нужно вызвать более одной хранимой процедуры внутри метода (контракта операции), если какой-либо sp не удалось, мне нужно откатить уже выполненный sp. Но отката не произошло. Я не использую поток транзакций на стороне клиента.
Я разместил образец кода
общедоступный класс Service: IService {
public bool Method1()
{
using (TransactionScope Scope1 = new TransactionScope())
{
Method2();
Method3();
Scope1.Complete();
}
return true;
}
public bool Method2()
{
using (TransactionScope Scope2 = new TransactionScope())
{
// Procedure call .....
Scope2.Complete();
}
return true;
}
public bool Method3()
{
using (TransactionScope Scope3 = new TransactionScope())
{
// Procedure call .....
Scope3.Complete();
}
return true;
}
}