我从实时站点收到以下错误:
System.Web.HttpUnhandledException:引发了“System.Web.HttpUnhandledException”类型的异常。---> System.InvalidOperationException:在 System.Transactions.TransactionStatePSPEOperation.PSPEInitialize(InternalTransaction tx, IPromotableSinglePhaseNotification promotableSinglePhaseNotification) 处 System.Data.SqlClient.SqlDelegatedTransaction.Initialize() 处的内部 .Net Framework 数据提供程序错误 60。 .EnlistPromotableSinglePhase(InternalTransaction tx, IPromotableSinglePhaseNotification promotableSinglePhaseNotification, Transaction atomicTransaction) 在 System.Transactions.Transaction.EnlistPromotableSinglePhase(IPromotableSinglePhaseNotification promotableSinglePhaseNotification) 在 System.Data.SqlClient.SqlInternalConnection。
在本地我无法复制它。我不会每天都收到这样的错误,但我需要理解并修复它。从日志中我看到它发生的代码是:
var transactionOptions = new System.Transactions.TransactionOptions();
transactionOptions.IsolationLevel = System.Transactions.IsolationLevel.ReadUncommitted;
using (var transactionScope = new System.Transactions.TransactionScope(System.Transactions.TransactionScopeOption.Required, transactionOptions))
{
this.DataContext = new BMDataContext();// DataContext;
if (patientAdmissionID != -1)
{
PatientAdmission admission = queryAdmission(this.DataContext, patientAdmissionID);
transactionScope.Complete();
return admission;
}
transactionScope.Complete();
return null;
}
该方法调用 queryAdmission,使用 linq to sql 从 DB 返回数据:
private static Func<BMDataContext, long, PatientAdmission> queryAdmission = System.Data.Linq.CompiledQuery.Compile(
(BMDataContext context, long Id) => context.PatientAdmissions.FirstOrDefault(w => w.Id == Id));
有没有人可以帮助我解决这个错误 - “.Net Framework Data Provider error 60”。?