Код aspx.cs:
сам код довольно большой, и код здесь вымышленный, но выглядит (важная часть) так:
foreach (Transaction trans in vTransactionList)
{
switch (trans)
{
case 201: codehere; break;
case 202: codehere; break;
case 203:
vProcesso.MarcaEnvioServico(
trans.ProcessId,
trans.CodTrans);
break;
}
}
Метод бизнес-класса:
RENDataContext db = new RENDataContext();
Processo update = tabela.SingleOrDefault(
x => x.CodTrans == pCodTrans);
update.SentDate= DateTime.Now;
update.ProcessId = pProcessId;
update.LogUsuario = pUsuario_Id;
update.LogVersaoRegistro = servico.LogVersaoRegistro + 1;
update.LogDataAlteracao = DateTime.Now;
db.SubmitChanges();
Иногда (очень часто я получаю эту ошибку (sqlserverexception) при выполнении этого кода: «Серверу не удалось возобновить транзакцию». Опять же, это просто случайный процесс, иногда он выполняется, а иногда - нет. продолжает терпеть неудачу в течение некоторого периода времени.
Я использовал хранимую процедуру для обновления таблицы вместо этого кода LINQ, и возникла та же проблема.