Diese Ausnahme ist hier passiert:
public void updateAccount(CommonLayer.Account account)
{
Entity.SaveChanges();
}
Stapelverfolgung:
[SqlException (0x80131904): Neue Transaktion ist nicht zulässig, da andere Threads in der Sitzung ausgeführt werden.] System.Data.SqlClient.SqlConnection.OnError (SqlException-Ausnahme, Boolean breakConnection, Aktion
1 wrapCloseInAction) +1753986 System.Data.SqlClient.SqlInternalConnection.OnError(SqlException exception, Boolean breakConnection, Action
1 wrapCloseInAction) 5296058 System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning (TdsParserStateObject stateObj, Boolean callerHasConnectionLock, Boolean asyncClose) 558 System.Data.SqlClient.TdsParser.TryRun (RunBehavior runBehavior, SqlCommand CmdHandler, SqlDataReader Datastream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj, Boolean & Dataready) 1682 System.Data.SqlClient.TdsParser.Run (RunBehavior runBehavior, SqlCommand CmdHandler, SqlDataReader Datastream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj) +69 System.Data.SqlClient. TdsParser.TdsExecuteTransactionManagerRequest (Byte [ ] -Puffer, TransactionManagerRequestType Anfrage, String transactionName, TransactionManagerIsolationLevel isoLevel, Int32 Timeout, SqlInternalTransaction Transaktion, TdsParserStateObject stateObj, Boolean isDelegateControlRequest) +796 System.Data.SqlClient.SqlInternalConnectionTds.ExecuteTransactionYukon (Transactiontransaction, String transactionName, Isolation iso, SqlInternalTransaction internalTransaction, Boolean isDelegateControlRequest ) +395 System.Data.SqlClient.SqlInternalConnectionTds.ExecuteTransaction (TransactionRequest-TransaktionRead-Anfrage, Rake-Name, Isak-Ebene), SaklInternalTransaction-InternalTransaction-Transaktion, Boolean-Methode istDelegateControlRequest). Data.SqlClient.SqlInternalConnection.BeginTransaction (IsolationLevel iso) +12 System.Data.SqlClient.SqlConnection.BeginDbTransaction (IsolationLevel isolationLevel) +60 System.Data.Commo n.DbConnection.BeginTransaction (IsolationLevel isolationLevel) +10 System.Data.EntityClient.EntityConnection.BeginDbTransaction (IsolationLevel isolationLevel) +83
Warum passiert dies?
Ich brauchte mehr Informationen, weil ich jetzt Ihre Anwendung Web oder Desktop haben möchte. Wenn Sie EDM verwenden möchten, sollten Sie using () - Codeblock verwenden. Zum Beispiel:
public void SaveUser(User oldUser)
{
using (MyEntity myEntity= new MyEntity ())
{
var user = myEntity.Users.Where(u => u.UserId == oldUser.UserId).Single();
user.UserName = oldUser.UserName;
// and other changes
myEntity.SaveChanges();
}
}