У меня есть несколько операций в методе DoWork (), где я использую область транзакции, но она не работает должным образом.
Всякий раз, когда в DataInsert2 () происходит сбой, он должен вернутьсяDataInsert1 () и DataInsert2 ().Но в настоящее время он возвращает только DataInsert2 () ..?
Дайте мне знать, если я делаю какие-либо ошибки здесь.
// DoWork ()
public void DoWork()
{
try
{
TransactionOptions tranOptions = UtilityBL.GetTransOptions();
using (TransactionScope scope = new TransactionScope(TransactionScopeOption.Required, tranOptions))
{
if (DataInsert1())
{
DataInsert2() ;
}
scope.Complete();
}
}
catch (Exception ex)
{
log.Info(string.Format(UploadMessages.FailedMsg));
if (ContextUtil.IsInTransaction)
ContextUtil.SetAbort();
}
}
// DataInsert1
public bool DataInsert1()
{
bool fileUploadStatus=false;
try
{
DAL.InsertDetails1()
fileUploadStatus=true;
}
catch (Exception ex)
{
log.Info(string.Format(UploadMessages.FailedMsg));
}
return fileUploadStatus;
}
// DataInsert2
public bool DataInsert2()
{
try
{
DAL.InsertDetails2()
}
catch (Exception ex)
{
log.Info(string.Format(UploadMessages.FailedMsg));
}
}