분산 트랜잭션 및 NHibernate 내부 트랜잭션에 트랜잭션 범위를 사용합니다. 모든 작업 후에 Transaction.Current
이 중단되지 않았는지 확인하고 NHibernate 트랜잭션을 커밋하려고 시도합니다. 다음 스택 트레이스와NHibernate 커밋 트랜잭션 수신 후 'COMMIT TRANSACTION 요청에 해당 BEGIN TRANSACTION이 없습니다. '
The COMMIT TRANSACTION request has no corresponding BEGIN TRANSACTION. The transaction active in this session has been committed or aborted by another session.
:이 오류가 가끔이라고
System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection) в System.Data.SqlClient.SqlInternalConnection.OnError(SqlException exception, Boolean breakConnection) в System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj) в System.Data.SqlClient.TdsParser.Run(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj) в System.Data.SqlClient.TdsParser.TdsExecuteTransactionManagerRequest(Byte[] buffer, TransactionManagerRequestType request, String transactionName, TransactionManagerIsolationLevel isoLevel, Int32 timeout, SqlInternalTransaction transaction, TdsParserStateObject stateObj, Boolean isDelegateControlRequest) в System.Data.SqlClient.SqlInternalConnectionTds.ExecuteTransactionYukon(TransactionRequest transactionRequest, String transactionName, IsolationLevel iso, SqlInternalTransaction internalTransaction, Boolean isDelegateControlRequest) в System.Data.SqlClient.SqlInternalConnectionTds.ExecuteTransaction(TransactionRequest transactionRequest, String name, IsolationLevel iso, SqlInternalTransaction internalTransaction, Boolean isDelegateControlRequest) в System.Data.SqlClient.SqlInternalTransaction.Commit() в System.Data.SqlClient.SqlTransaction.Commit() в NHibernate.Transaction.AdoTransaction.Commit().
가장 큰 문제
때때로 나는이 오류가 발생합니다. 이것에 대한 이유는 무엇일까요? 당신은 중앙 집중화 된 코드를 통해 sesions를 열고 있지만 세션 트랜잭션마다 시간을 폐쇄하지 않는 것처럼