请教高手关于事务的问题!

cbo5 2005-06-16 08:55:39
我在一个TransactionOption=TransactionOption.RequiresNew的WebMethod中打开一个数据库连接:
SqlConnection connection = new SqlConnection(connectionString);
SqlDataAdapter dataAdapter = new SqlDataAdapter();
connection.Open();
在执行connection.Open();的时候长时间等待,最后提示“操作超时”,只要去掉TransactionOption=TransactionOption.RequiresNew就能打开连接,请大侠赐教!!!!!
...全文
139 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
cbo5 2005-07-04
  • 打赏
  • 举报
回复
顶一下
cbo5 2005-06-23
  • 打赏
  • 举报
回复
正常情况确实不会!
我的SQL server部署在别的机器上就没问题,偏偏这台机器有问题,Windows 2003 + sqlserver 2000,是不是什么没配置对啊!
thinkingforever 2005-06-22
  • 打赏
  • 举报
回复
不会呀!
[WebMethod(TransactionOption=TransactionOption.RequiresNew)]
public string testTransaction()
{
try
{
ContextUtil.EnableCommit();


string strconn="user id=sa;password=123;data source=LRKJ-NI;persist security info=False;initial catalog=mytest01;Connect Timeout=300";
SqlConnection conn=new SqlConnection(strconn);
conn.Open();
SqlCommand command=new SqlCommand("insert into test(a0,a1) values(2,'上海')",conn);
command.ExecuteNonQuery();
conn.Close();
conn.Open();
command=new SqlCommand("insert into test(a0,a1) values(1,'北京')",conn);
command.ExecuteNonQuery();
conn.Close();
ContextUtil.SetComplete();
return "succeed!";
}
catch(Exception ex)
{
ContextUtil.SetAbort();
return ex.Message+" failed!";
}

}
cbo5 2005-06-21
  • 打赏
  • 举报
回复
不能沉下去啊,问题至今未解决!
cbo5 2005-06-17
  • 打赏
  • 举报
回复
1楼发的是MSDN里的例子啊,我看过啊,跟我的问题没关系啊!!
zhongwanli 2005-06-17
  • 打赏
  • 举报
回复
ding le
fengfangfang 2005-06-16
  • 打赏
  • 举报
回复
ASP.NET创建Web服务之使用事务
http://www.weste.net/2004/12-9/16295666447.html
fengfangfang 2005-06-16
  • 打赏
  • 举报
回复
<%@ WebService Language="C#" Class="Bank"%>
<%@ assembly name="System.EnterpriseServices" %>

using System;
using System.Web.Services;
using System.EnterpriseServices;

public class Bank : WebService {

[ WebMethod(TransactionOption=TransactionOption.RequiresNew) ]
public void Transfer(long Amount, long AcctNumberTo, long AcctNumberFrom) {
MyCOMObject objBank = new MyCOMObject();

if (objBank.GetBalance(AcctNumberFrom) < Amount )
// Explicitly abort the transaction.
ContextUtil.SetAbort();
else {
// Credit and Debit methods explictly vote within
// the code for their methods whether to commit or
// abort the transaction.
objBank.Credit(Amount, AcctNumberTo);
objBank.Debit(Amount, AcctNumberFrom);
}
}
}

12,162

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 Web Services
社区管理员
  • Web Services社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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