草庐IT

Transaction

全部标签

c# - Entity Framework new transaction is not allowed because there are other threads running in the session,多线程保存

我正在尝试将多线程进程的日志保存在数据库中,但出现以下错误:不允许新事务,因为session中还有其他线程在运行。在每个胎面我都有这个功能:internalboolWriteTrace(IResultresult,stringmessage,bytetype){SPC_SENDING_TRACEtrace=newSPC_SENDING_TRACE(message,Parent.currentLine.CD_LINE,type,Parent.currentUser.FULLNAME,Parent.guid);Context.SPC_SENDING_TRACE.AddObject(trac

c# - 事务和事务范围之间的区别

我正在开发一个与SQLServer2005数据库通信以执行某些存储过程的应用程序。我的客户要求所有事务都在C#端进行管理,而不是由SQLServer管理,因此我在访问数据库时使用System.Transactions.TransactionScope。但是,我刚刚看到System.Transactions.Transaction数据类型,我很困惑……每种类型的主要优点/缺点是什么?我应该使用哪一个?请注意,我还必须使用EnterpriseLibrary的数据访问应用程序block。 最佳答案 来自msdn:TheTransactio

c# - 如何查找交易状态

我正在使用“TransactionScope”,我只需要在C#代码中执行一些DML,我已成功完成。我需要查明交易的状态是什么,即交易是否成功完成?因为根据交易状态,如果交易完成则我需要执行重定向到另一个页面,否则如果交易未成功完成则我需要在页面上显示错误。我想在以下之后重定向:-scope.Complete();scope.Dispose();请在这方面帮助我。 最佳答案 如果你visittheMSDNpage对于TransactionScope,您会发现这个有据可查的示例:try{//CreatetheTransactionSco

c# - SQLTransaction 已完成错误

我的应用程序中有一次出现以下错误。ThisSQLTransactionhascompleted;itisnolongerusableStackTrace附在下面–它说明了ZombieCheck和Rollback。代码中有什么错误?注意:此错误只出现一次。更新来自MSDN-SqlTransaction.RollbackMethodARollbackgeneratesanInvalidOperationExceptioniftheconnectionisterminatedorifthetransactionhasalreadybeenrolledbackontheserver.来自Zom

c# - NHibernate 异常 : Transaction not connected, 或已断开连接

在我们的开发环境中,所有ASP.NET应用程序都运行良好。但是,当我在测试机器上部署站点时,在某些页面上出现此异常:NHibernate.TransactionException:Transactionnotconnected,orwasdisconnectedatNHibernate.Transaction.AdoTransaction.CheckNotZombied()ind:\CSharp\NH\NH\nhibernate\src\NHibernate\Transaction\AdoTransaction.cs:line406atNHibernate.Transaction.Ad

c# - SqlTransaction.Commit() 之前的 SqlCommand.Dispose()?

在提交事务之前处理分配给事务的命令是否有效?我自己测试了以下代码,它似乎工作正常,但这是一个相当小的例子,所以如果有人肯定知道,我正在寻找确认。internalstaticvoidTestTransaction(){try{Program.dbConnection.Open();using(SqlTransactiontransaction=Program.dbConnection.BeginTransaction()){BooleandoRollback=false;for(inti=0;i 最佳答案 连接、事务和命令对象只是将命

c# - TransactionScope - 基础提供程序在 EnlistTransaction 上失败。 MSDTC 被中止

我们的团队遇到了一个问题,表现为:TheunderlyingproviderfailedonEnlistTransaction;Cannotaccessadisposedobject.Objectname:'Transaction'.它似乎在我们开始使用TransactionScope时就出现了处理我们应用程序的事务。堆栈跟踪的顶部被捕获为:atSystem.Data.EntityClient.EntityConnection.EnlistTransaction(Transaction transaction)atSystem.Data.Objects.ObjectContext.En

c# - 我是否应该始终在 nhibernate 中使用事务(即使是简单的读写)?

我知道对于多部分写入,我应该在nhibernate中使用事务。但是对于简单的读写(1部分)呢……我读到始终使用事务是一种很好的做法。这是必需的吗?我应该做以下简单阅读吗?或者我可以将交易部分全部放在一起吗?publicPrinterJobRetrievePrinterJobById(Guidid){using(ISessionsession=sessionFactory.OpenSession()){using(ITransactiontransaction=session.BeginTransaction()){varprinterJob2=(PrinterJob)session.G

c# - 无法执行事务操作,因为有待处理的请求在工作

背景我有一些代码可以打开一个sql连接,开始一个事务并对数据库执行一些操作。此代码从数据库创建一个对象(出队),获取一些值并将其保存回来。整个操作需要在事务中进行。所有代码在没有事务的情况下都能完美运行。using(varconnection=newSqlConnection(connectionString)){connection.Open();vartransaction=connection.BeginTransaction();try{varmyObject=foo.Dequeue(connection,transaction);varurl=myObj.GetFilePat

c# - Entity Framework 7 中的显式事务

有人知道如何在EntityFramework7中创建显式事务吗???我找到的所有信息都引用了EF的版本6。文档也很不完整,所以有人可以提供一个例子吗?我有一个dbContext,我必须删除一个实体及其相关对象,然后再次插入它们,但在同一个事务中,所以我总是有一个“版本”的行。 最佳答案 事务功能仅从RC1开始包含在EF7中(请参阅thestatement)。.SaveChanges()(或.SaveChangesAsync())的调用应该使用自动事务。然后我假设实体的某些项目的状态应该被标记为Deletedbefore,例如。可以通