C创建标准COM组件_第1页
C创建标准COM组件_第2页
C创建标准COM组件_第3页
C创建标准COM组件_第4页
免费预览已结束,剩余1页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、c#写的程序集注册成标准的com组件c#写的程序集注册成标准的com组件,在asp中用server.createobject()调用。过程如下:里面有两个方法encrypt(string ptoencrypt,string skey) /加密decrypt(string ptodecrypt,string skey) /解密using system;using system.runtime.interopservices;namespace 名称空间 / 首先建立接口,这个是com必须使用的 guid(61bb24cb-4c2c-40f8-9e13-1ac5e558d56a) public i

2、nterface iencrypt string encrypt(string ptoencrypt,string skey); string decrypt(string ptodecrypt,string skey); / 写接口的实现 guid(cb52e990-185e-4448-a7e8-c88ecad563ab) public class 类名称 : iencrypt public string encrypt(string ptoencrypt,string skey) / 复制faq加密代码 public string decrypt(string ptodecrypt,str

3、ing skey) / 复制faq解密代码 然后用打包成.dll类库文件,假设名称为myencrypt.dll然后用如下工具regasm myencrypt.dll /tlb:myencrypt.tlb /regasm命令行工具作用就是为.net组件生成可以供com环境调用的类型库这个.tlb文件就是类型库,可以由vb6和vc+6引用。注意上面的guid是使用工具菜单里面的创建guid工具生成的。还要注意,自动生成的assemblyinfo.cs文件中必须添加强名称和版本号,因为com组件需要版本号,不要改动版本号,也不要用自动的1.*这样的版本

4、号,最好使用这样的固定版本,而且必须一次添加,不能多次添加。代码如下一 生成.net程序集:using system;using system.io;using system.text;using system.runtime.interopservices;using system.security.cryptography; namespace csic / 首先建立接口,这个是com必须使用的 guid(61bb24cb-4c2c-40f8-9e13-1ac5e558d56a) public interface iencrypt string encrypt(string

5、ptoencrypt,string skey); string decrypt(string ptodecrypt,string skey); / 写接口的实现 guid(cb52e990-185e-4448-a7e8-c88ecad563ab) public class crypt : iencrypt public string encrypt(string ptoencrypt,string skey) / 复制faq加密代码 public string decrypt(string ptodecrypt,string skey) / 复制faq解密代码 把上面的文件保存成项

6、目的一个类库工程。然后使用的“vsitual studio .net工具”-vistual studio .net命令提示符在命令行内打下cd c: sn -k mykey.snk就在c盘根目录下生成一个名叫mykey.snk的强名称文件,然后关闭提示符窗口。在的那个类库工程自动生成的assemblyinfo.cs文件内把assembly: assemblykeyfile()改成assembly: assemblykeyfile(c:mykey.snk)把assembly: assemblyversion(1.0.*)改成assembly: assemblyversio

7、n() / 注意:这时你的com组件版本为版然后按shift + ctrl + b键生成dll库(使用release模式),假设是csic.crypt.dll。这时候,程序集就建立成功了。二、注册该程序集并创建一个类型库仍然使用开始菜单中的vistual studio .net命令提示符进入你的项目目录,假设为d:myprojectbinrelease在对话框中输入d:cd myprojectbinrelease然后输入 dir 命令可以看见csic.crypt.dll文件然后输入:regasm /tlb csic.crypt.tlb csic.crypt.dll然

8、后就在这个目录下生成了csic.crypt.tlb类型库文件。不要关闭此提示符窗口。这时候,这个.dll的.net程序集就变成一个标准的com组件了,但是还不能用,必须让它变成全局com组件。这个regasm 实用程序将创建一个类型库并在 windows 注册表中对其进行注册,以使 physserver2.dll 中的类对 com 客户端可用 。三、 将程序集添加到全局程序集缓存中进入提示符窗口,输入gacutil /i csic.crypt.dll这时,你的这个dll就被复制到全局程序集缓存中了。也就是说无论在这个电脑的哪个硬盘上都可以使用此dll组件了。四、使用方法asp内的使用方法set

9、 obj = server.createobject(csic.crypt)dim str1str1 = obj.encrypt(要加密内容,密码) / 加密dim str2str2 = obj.decrypt(要解密内容,密码) / 解密注意:上面的这样的字符串:cb52e990-185e-4448-a7e8-c88ecad563ab是使用“工具”中“创建guid”自动生成的。方法2c# 创建标准com组件 1、定义接口及实现using system; using system.runtime.interopservices; namespace mylib /建立接口 guid

10、(61bb24cb-4c2c-40f8-9e13-1ac5e558d56a) public interface imyinterface void read(); void write(); / 写接口的实现 guid(cb52e990-185e-4448-a7e8-c88ecad563ab) public class 类名称 :system.enterpriseservices.servicedcomponent,imyinterface public void read() public void write() 2、项目属性设置应用程序输出类型classlibrary3、项目属性设置程序集信息选中com可见4、项目属性设置编译:注册为com互用5、为程序集添加强名称文件生成强名称文件的方法:使用的“vsitual studio .net工具”-vistual studio .net命令提示符 在命令行内输入cd c: sn -k mykey.snk 就在c盘根目录下生成一个名叫mykey.snk的强名称文件6、生成com(1)vs中直接编译(2)通过命令行编译 regasm /tlb mylib.tlb mylib.dll regasm 实用程序将创建一个类型库并在

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论