COM+服务的自动事务处理大家帮我看看

luo1983 2009-03-12 09:18:09
以下代码有什么问题?怎么才能让事务回滚?
我不用TransactionScope事务
请明确的告诉我,错在哪谢谢大家
这个程序集目前已经的强名称了,就是无法回滚,似乎哪写错了

using System;
using System.Collections.Generic;
using System.Text;
using System.Data.SqlClient;
using System.EnterpriseServices;

namespace Project
{

public class Program
{

static void Main(string[] args)
{
Test test = new Test();
test.add1();
test.add2();

}

}

//如果事务存在则共享事务
[Transaction(TransactionOption.Supported)]
public class Test : ServicedComponent //所有COM+服务的基类
{
//自动事务处理属性
[AutoComplete]
public void add1()
{
SqlConnection con = new SqlConnection("server=.;database=Test;uid=sa;pwd=sa");
con.Open();
SqlCommand cmd = new SqlCommand("insert into TestTable values(1,'张三')", con);
cmd.ExecuteNonQuery();

}
//自动事务处理属性
[AutoComplete]
public void add2()
{
SqlConnection con = new SqlConnection("server=.;database=Test;uid=sa;pwd=sa");
con.Open();
SqlCommand cmd = new SqlCommand("insert into TestTables values(2,'张四')", con);
cmd.ExecuteNonQuery();

}
}
}
...全文
54 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
luo1983 2009-03-14
  • 打赏
  • 举报
回复
发表于:2009-03-13 23:55:102楼 得分:0
记得好像如果你这样写的话,要在事务的环境下才会开始事务的,就是如果你放在transactionscope里就会有事务。

然后你有没有把你的com+的组件dll regsvc到com+组件服务里去?


注册进com+里面了

代码方便的问题,能帮我写出来吗?
  • 打赏
  • 举报
回复
记得好像如果你这样写的话,要在事务的环境下才会开始事务的,就是如果你放在transactionscope里就会有事务。

然后你有没有把你的com+的组件dll regsvc到com+组件服务里去?
js1722 2009-03-13
  • 打赏
  • 举报
回复
COM+事务最终都是基于DTC的,可以试试用ServiceDomain,ContextUtil这些组件自己再封装一下. 效果也不错的.

111,126

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Creator Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

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