您的位置:首页 > 其它

开发COM+组件需要注意的几个地方

2007-11-04 21:33 435 查看
1.必须引用System.EnterpriseServices和System.Reflection

2.组件类必须派生至ServicedComponent.

3.组件类一般情况下都要由下面

[Transaction(TransactionOption.Required)]
[assembly: ApplicationActivation(ActivationOption.Server)]

这两个元属性进行修饰,TransactionOption和ActivationOption都是枚举类型,有多个枚举值,各个枚举值代表的含义不一样.

4.需要事务处理的函数可以可以用[AutoComplete(true)]自动事务处理,也可以通过事务上下文类ContextUtil的ContextUtil.EnableCommit();ContextUtil.SetComplete();ContextUtil.SetAbort();手动事务处理.

5.配置程序集AssemblyInfo.cs.加上下面的:

[assembly: AssemblyKeyFile("..//..//key.snk")]

[assembly: ApplicationAccessControl(true)].

再把[assembly: ComVisible(false)]改为[assembly: ComVisible(true)].

注意key.snk这个文件是通过SDK命令行生成的:sn -k key.snk.这个文件默认生成在SDK文件夹下面的V2.0文件夹里.

需要把这个密钥文件复制到与工程文件目录同级的目录下.

6.将类库生成为DLL文件,右键类库文件--生成,就自动在BIN文件夹里生成了同名DLL文件.

7注册COM+组件,在SDK命令提示行里输入:regsvcs DLL文件的路径.

8在客户端使用COM+组件,和使用普通的类库文件一样,先将该类库文件引用进来,当然也要引用System.EnterpriseServices名称空间和组件类库的名称空间.

以上就是我个人的一些总结,说的可能有点含糊,因为我也是才研究这个东东,也在学习阶段.只是把遇到的问题总结下来以便日后查看.
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: