此操作对该事务的状态无效。

mylu520 2010-03-21 04:40:51
“/”应用程序中的服务器错误。
--------------------------------------------------------------------------------

此操作对该事务的状态无效。
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。

异常详细信息: System.Transactions.TransactionException: 此操作对该事务的状态无效。

源错误:


行 33: {
行 34: zp_ResumeBiz resbiz = new zp_ResumeBiz();
行 35: DataSet ds = resbiz.GetResumeTop20();
行 36: string s = "";
行 37: for (int i = 0; i < ds.Tables["zp_Resume"].Rows.Count; i++)


源文件: d:\wwwroot\haojob126_l8kq5a\index.aspx.cs 行: 35

堆栈跟踪:


[TransactionException: 此操作对该事务的状态无效。]
System.Transactions.TransactionState.EnlistPromotableSinglePhase(InternalTransaction tx, IPromotableSinglePhaseNotification promotableSinglePhaseNotification, Transaction atomicTransaction) +44
System.Transactions.Transaction.EnlistPromotableSinglePhase(IPromotableSinglePhaseNotification promotableSinglePhaseNotification) +150
System.Data.SqlClient.SqlInternalConnection.EnlistNonNull(Transaction tx) +159
System.Data.SqlClient.SqlInternalConnection.Enlist(Transaction tx) +4846418
System.Data.SqlClient.SqlInternalConnectionTds.Activate(Transaction transaction) +4846477
System.Data.ProviderBase.DbConnectionInternal.ActivateConnection(Transaction transaction) +33
System.Data.ProviderBase.DbConnectionPool.GetConnection(DbConnection owningObject) +1286
System.Data.ProviderBase.DbConnectionFactory.GetConnection(DbConnection owningConnection) +65
System.Data.ProviderBase.DbConnectionClosed.OpenConnection(DbConnection outerConnection, DbConnectionFactory connectionFactory) +117
System.Data.SqlClient.SqlConnection.Open() +122
System.Data.Common.DbDataAdapter.QuietOpen(IDbConnection connection, ConnectionState& originalState) +31
System.Data.Common.DbDataAdapter.FillInternal(DataSet dataset, DataTable[] datatables, Int32 startRecord, Int32 maxRecords, String srcTable, IDbCommand command, CommandBehavior behavior) +112
System.Data.Common.DbDataAdapter.Fill(DataSet dataSet, Int32 startRecord, Int32 maxRecords, String srcTable, IDbCommand command, CommandBehavior behavior) +287
System.Data.Common.DbDataAdapter.Fill(DataSet dataSet, String srcTable) +92
zp_Dao.zp_ResumeDao.GetResumeTop20() in E:\zp\OkBole\zp_Dao\Personal\zp_ResumeDao.cs:392
zp_Biz.zp_ResumeBiz.GetResumeTop20() in E:\zp\OkBole\zp_Biz\Personal\zp_ResumeBiz.cs:180
Front_index.GetResumeTop20() in d:\wwwroot\haojob126_l8kq5a\index.aspx.cs:35
Front_index.Page_Load(Object sender, EventArgs e) in d:\wwwroot\haojob126_l8kq5a\index.aspx.cs:17
System.Web.Util.CalliHelper.EventArgFunctionCaller(IntPtr fp, Object o, Object t, EventArgs e) +14
System.Web.Util.CalliEventHandlerDelegateProxy.Callback(Object sender, EventArgs e) +35
System.Web.UI.Control.OnLoad(EventArgs e) +99
System.Web.UI.Control.LoadRecursive() +50
System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +627


...全文
2174 19 打赏 收藏 转发到动态 举报
写回复
用AI写文章
19 条回复
切换为时间正序
请发表友善的回复…
发表回复
H_Gragon 2012-06-26
  • 打赏
  • 举报
回复
1 C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\aspnet_regsql -S localhost -E -d MSPetShop4 -ed
C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\aspnet_regsql -S localhost -E -d MSPetShop4 -t Item -et
C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\aspnet_regsql -S localhost -E -d MSPetShop4 -t Product -et
C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\aspnet_regsql -S localhost -E -d MSPetShop4 -t Category -et

-S localhost是指你的SQL Server实例名称

如果你先安装MSPetShop4,它会帮你创建好这些的。



2你也可以在web.config中将EnableCaching设置为False,不过这样就会损失不少查询时的性能。

vicent3 2012-06-26
  • 打赏
  • 举报
回复
[Quote=引用 16 楼 的回复:]

我也碰到过,也搜了一些资料,个人比较倾向于使用方式的说法,但目前都没有经过验证,都是新发布一个程序,突然就好了,让人觉得很迷惘!
网上说的使用方式不当,主要有两种吧:
1,先调用了事务,再去打开数据库连接
2,在一个事务里面嵌套了另外一个事务

LZ也可以改变方式试试看,我也迫切想知道答案,关注此贴中!
[/Quote]

投票+1,我也遇到这个问题,特别是在LINQ TO SQL 中,看起来像是 嵌套事务 造成的,但是我觉得在事务中去嵌套 方法去另外.SubmitChanges 该事务中的某一实例对象,就会造成这个问题。2楼说丢弃Transactions,明明就是要使用怎么又丢弃呢。 还没有更好解决方案吗?关注中··
xiangaylian 2012-03-29
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 的回复:]
说明一下,为什么要使用到 System.Transactions 命名空间。如果不能说明,我建议你放弃你找来的这个组件。
[/Quote]
其实我觉得2L的说法也是有道理的!我也在考虑中!
xiangaylian 2012-03-29
  • 打赏
  • 举报
回复
我也碰到过,也搜了一些资料,个人比较倾向于使用方式的说法,但目前都没有经过验证,都是新发布一个程序,突然就好了,让人觉得很迷惘!
网上说的使用方式不当,主要有两种吧:
1,先调用了事务,再去打开数据库连接
2,在一个事务里面嵌套了另外一个事务

LZ也可以改变方式试试看,我也迫切想知道答案,关注此贴中!
qualylee 2012-03-28
  • 打赏
  • 举报
回复
[Quote=引用 14 楼 的回复:]

我这报着个错误
是因为嵌套事务
[/Quote]

投票给你。
jiuhexuan 2011-12-27
  • 打赏
  • 举报
回复
我这报着个错误
是因为嵌套事务
enasdy 2011-06-15
  • 打赏
  • 举报
回复
还有一种可能,如果,MSDTC是手动的,可能会因为时间的关系,所以要重新启动一下子的。然后就可以了的。
enasdy 2011-06-15
  • 打赏
  • 举报
回复
是不是你需要用到的哪张表明错了。
Only_You_forver 2010-09-17
  • 打赏
  • 举报
回复
顶楼上,
可能是你超时引起的
jianshao810 2010-09-09
  • 打赏
  • 举报
回复
我发现超时也会产生这个问题
jianshao810 2010-09-06
  • 打赏
  • 举报
回复
解决了吗?
皇家鸽子 2010-08-13
  • 打赏
  • 举报
回复
我也遇到这个问题。我用的是SQL2005数据库 用的LINQ TO SQL 写的。在后台获取数据完全正常。就是在添加数据的一瞬间。报错。该操作对事务的状态无效。换成实体插入数据一样有这样的效果。声明一下微软事务服务我是打开的。
皇家鸽子 2010-08-13
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 chen_ya_ping 的回复:]
强烈建议楼主自己调试一下。
[/Quote]

你说的更是废话。调试解决问题了还问你。
皇家鸽子 2010-08-13
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 sp1234 的回复:]
说明一下,为什么要使用到 System.Transactions 命名空间。如果不能说明,我建议你放弃你找来的这个组件。
[/Quote]

你说的都是废话。人家叫你解决问题不是叫你乱发黄腔
wuyq11 2010-03-21
  • 打赏
  • 举报
回复
事务怎么使用的
chen_ya_ping 2010-03-21
  • 打赏
  • 举报
回复
强烈建议楼主自己调试一下。
mylu520 2010-03-21
  • 打赏
  • 举报
回复
这个一定要的!!在在简历创建用的分布式事务处理!!
  • 打赏
  • 举报
回复
说明一下,为什么要使用到 System.Transactions 命名空间。如果不能说明,我建议你放弃你找来的这个组件。
mylu520 2010-03-21
  • 打赏
  • 举报
回复
CSDN的人呢?

62,047

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧