关于在COM+中使用子事务的尝试
2004-10-19 09:02 Yuanyi Wang 阅读(1068) 评论(0) 编辑 收藏 举报
在最近的项目中由于需要对多个不同种类的数据库提交子事务,所以学习了一些关于在Windows 2003环境下使用COM+的开发示例。
以下我列出一些在开发中需要注意的问题,这些问题困扰了我好长时间。
1. 定义子事务的类时需要给类添加属性:[ Transaction( TransactionOption.Supported ) ]
根事务需要添加属性:[Transaction(TransactionOption.Required)];
2. 编写COM+组件最好自己编写版本号[assembly: AssemblyVersion("1.0.0.0")]
3. COM+组件必须使用强名
4. 在使用子事务时必须安装MSDTC;并在MSDTC安全设置中选中Network Administration; Network Transcations; Network Clients选项;并在组件角色中添加调用用户。(不使用子事务就可以,如果使用子事务不这么做就报错)
5. 可以使用Type.GetTypeFromProgID()函数得到远程对象类型,在使用Activator.CreateInstance()函数创建实例。
虽然费了一些周折,但是总体感觉在COM+中写这种程序还是比较方便的。
以下我列出一些在开发中需要注意的问题,这些问题困扰了我好长时间。
1. 定义子事务的类时需要给类添加属性:[ Transaction( TransactionOption.Supported ) ]
根事务需要添加属性:[Transaction(TransactionOption.Required)];
2. 编写COM+组件最好自己编写版本号[assembly: AssemblyVersion("1.0.0.0")]
3. COM+组件必须使用强名
4. 在使用子事务时必须安装MSDTC;并在MSDTC安全设置中选中Network Administration; Network Transcations; Network Clients选项;并在组件角色中添加调用用户。(不使用子事务就可以,如果使用子事务不这么做就报错)
5. 可以使用Type.GetTypeFromProgID()函数得到远程对象类型,在使用Activator.CreateInstance()函数创建实例。
虽然费了一些周折,但是总体感觉在COM+中写这种程序还是比较方便的。