該aspx.cs代碼: 代碼本身是非常大的,這裏的代碼是虛構的,但它看起來(的重要組成部分)是這樣的:「服務器無法恢復事務」SQL Server 2008 + .NET 3.5中的錯誤LINQ
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代碼,同樣的問題發生。
什麼vCodTrans ...它應該是反式? – 2010-10-09 00:10:28
更新trans.Cod – 2010-10-09 00:44:34