日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
淺析C#編寫COM組件的幾種方法

我們將介紹C#編寫COM組件的幾種方法,并通過代碼講解的相識,對.NET中的C#編寫COM組件進(jìn)行詳細(xì)的介紹。包括生成.NET程序集,注冊并創(chuàng)建一個(gè)程序庫等等。

成都創(chuàng)新互聯(lián)是一家專注于成都網(wǎng)站設(shè)計(jì)、成都網(wǎng)站建設(shè)、外貿(mào)網(wǎng)站建設(shè)與策劃設(shè)計(jì),朝陽網(wǎng)站建設(shè)哪家好?成都創(chuàng)新互聯(lián)做網(wǎng)站,專注于網(wǎng)站建設(shè)十載,網(wǎng)設(shè)計(jì)領(lǐng)域的專業(yè)建站公司;建站業(yè)務(wù)涵蓋:朝陽等地區(qū)。朝陽做網(wǎng)站價(jià)格咨詢:13518219792

 
 
 
  1. Encrypt( string pToEncrypt,string sKey ) //加密  
  2. Decrypt( string pToDecrypt,string sKey ) //解密 

然后你這樣寫代碼:

 
 
 
  1. using System;  
  2. using System.Runtime.InteropServices;  
  3. namespace 名稱空間  
  4. {  
  5.     // 首先建立接口,這個(gè)是Com必須使用的  
  6.     [Guid( "61BB24CB-4C2C-40f8-9E13-1AC5E558D56A" )]  
  7.     public interface IEncrypt  
  8.     {  
  9.         string Encrypt( string pToEncrypt,string sKey );  
  10.         string Decrypt( string pToDecrypt,string sKey );  
  11.     }  
  12.     // 寫接口的實(shí)現(xiàn)  
  13.     [Guid( "CB52E990-185E-4448-A7E8-C88ECAD563AB" )]  
  14.     public class 類名稱 : IEncrypt  
  15.     {  
  16.         public string Encrypt( string pToEncrypt,string sKey )  
  17.         {  
  18.             // 復(fù)制FAQ加密代碼  
  19.         }  
  20.         public string Decrypt( string pToDecrypt,string sKey )  
  21.         {  
  22.             // 復(fù)制FAQ解密代碼  
  23.         }  
  24.     }  

然后用vs.net打包成.dll類庫文件,假設(shè)名稱為MyEncrypt.dll

然后用如下工具

regasm MyEnCrypt.dll /tlb:MyEncrypt.tlb

這個(gè).tlb文件就是類型庫,可以由vb6和vc++6引用.

注意上面的guid是使用vs.net工具菜單里面的創(chuàng)建guid工具生成的.

還要注意,vs.net自動生成的assemblyinfo.cs文件中必須添加強(qiáng)名稱和版本號,因?yàn)镃om組件需要版本號,不要改動版本號,也不要用vs.net自動的1.*這樣的版本號,最好使用

1.1.1.1這樣的固定版本,而且必須一次添加,不能多次添加.

步驟

一 生成.net程序集:

首先你把http://expert.csdn.net/Expert/FAQ/FAQ_Index.asp?id=35935的代碼復(fù)制.

然后你復(fù)制這個(gè)代碼

 
 
 
  1. using System;  
  2. using System.IO;  
  3. using System.Text;  
  4. using System.Runtime.InteropServices;  
  5. using System.Security.Cryptography;   
  6. namespace Csic  
  7. {  
  8.     // 首先建立接口,這個(gè)是Com必須使用的  
  9.     [Guid( "61BB24CB-4C2C-40f8-9E13-1AC5E558D56A" )]  
  10.     public interface IEncrypt  
  11.     {  
  12.         string Encrypt( string pToEncrypt,string sKey );  
  13.         string Decrypt( string pToDecrypt,string sKey );  
  14.     }  
  15.     // 寫接口的實(shí)現(xiàn)  
  16.     [Guid( "CB52E990-185E-4448-A7E8-C88ECAD563AB" )]  
  17.     public class Crypt : IEncrypt  
  18.     {  
  19.         public string Encrypt( string pToEncrypt,string sKey )  
  20.         {  
  21.             // 復(fù)制FAQ加密代碼  
  22.         }  
  23.         public string Decrypt( string pToDecrypt,string sKey )  
  24.         {  
  25.             // 復(fù)制FAQ解密代碼  
  26.         }  
  27.     }  

把上面的文件保存成vs.net項(xiàng)目的一個(gè)類庫工程.

然后使用vs.net的“Vsitual Studio .Net工具”-->Vistual Studio .Net命令提示符

在命令行內(nèi)打下

 
 
 
  1. cd c:\ <回車> 
  2. sn -k myKey.snk<回車> 

就在C盤根目錄下生成一個(gè)名叫myKey.snk的強(qiáng)名稱文件,然后關(guān)閉提示符窗口.

在vs.net的那個(gè)類庫工程自動生成的AssemblyInfo.cs文件內(nèi)把

 
 
 
  1. [assembly: AssemblyKeyFile( "" )]  

改成

 
 
 
  1. [assembly: AssemblyKeyFile( @"C:\myKey.snk" )]  

把[assembly: AssemblyVersion( "1.0.*" )]

改成

 
 
 
  1. [assembly: AssemblyVersion( "1.0.0.0" )] // 注意:這時(shí)你的Com組件版本為1.0.0.0版  

然后按Shift + Ctrl + B鍵生成dll庫(使用Release模式),假設(shè)是Csic.Crypt.dll.

這時(shí)候,程序集就建立成功了.

二、注冊該程序集并創(chuàng)建一個(gè)類型庫

仍然使用開始菜單中的Vistual Studio .Net命令提示符

進(jìn)入你的項(xiàng)目目錄,假設(shè)為D:\myProject\bin\Release

在對話框中輸入

 
 
 
  1. d:<回車> 
  2. cd myproject\bin\release<回車> 

然后輸入 dir 命令可以看見Csic.Crypt.dll文件

然后輸入:regasm /tlb Csic.Crypt.tlb Csic.Crypt.dll<回車>

然后就在這個(gè)目錄下生成了Csic.Crypt.tlb類型庫文件.不要關(guān)閉此提示符窗口.

這時(shí)候,這個(gè).dll的.net程序集就變成一個(gè)標(biāo)準(zhǔn)的Com組件了,但是還不能用,必須讓它變成全局Com組件.

這個(gè)regasm 實(shí)用程序?qū)?chuàng)建一個(gè)類型庫并在 Windows 注冊表中對其進(jìn)行注冊,以使 PhysServer2.dll 中的類對 COM 客戶端可用 .

三、 將程序集添加到全局程序集緩存中

進(jìn)入提示符窗口,輸入

 
 
 
  1. gacutil /I Csic.Crypt.dll<回車>  

這時(shí),你的這個(gè)dll就被復(fù)制到全局程序集緩存中了.也就是說無論在這個(gè)電腦的哪個(gè)硬盤上都可以使用此dll組件了.

四、C#編寫COM組件使用方法

asp內(nèi)的使用方法

 
 
 
  1. set obj = Server.CreateObject( "Csic.Crypt" )  
  2. dim str1  
  3. str1 = obj.Encrypt( "要加密內(nèi)容","密碼" ) // 加密  
  4. dim str2  
  5. str2 = obj.Decrypt( "要解密內(nèi)容","密碼" ) // 解密 

新聞名稱:淺析C#編寫COM組件的幾種方法
本文URL:http://m.5511xx.com/article/codgioj.html