龙盟编程博客 | 无障碍搜索 | 云盘搜索神器
快速搜索
主页 > 软件开发 > C#开发 >

浅析C# COM组件的ASP调用方法

时间:2011-04-12 23:18来源:未知 作者:admin 点击:
分享到:
我们将介绍C# COM组件的ASP调用方法,首先需要建立类库,然后是在Visual Sutdio 2008 的命令提示行进行操作。本文能对大家了解C# COM组件有所帮助。 1 新建类库MyTestDLL 2 右击项目“MyTestDL

我们将介绍C# COM组件的ASP调用方法,首先需要建立类库,然后是在Visual Sutdio 2008 的命令提示行进行操作。本文能对大家了解C# COM组件有所帮助。

1 新建类库MyTestDLL

2 右击项目“MyTestDLL”-》属性-》生成-》勾选“为COM互操作注册”

3 打开 AssemblyInfo.cs 文件 修改 [assembly: ComVisible(true)]

4 打开Visual Sutdio 2008 的命令提示行工具输入guidgen.exe 选择DEFINE_GUID 单击 "New GUID"

5代码

1、每个类名对应一个接口名,接口名是类名前加上一个大写的I

2、接口中声明的方法要使用属性 [DispId(n)]

3、类必须有一个无参构造函数

  1. Code  
  2. using System;  
  3. using System.Collections.Generic;  
  4. using System.Linq;  
  5. using System.Text;  
  6. using System.Runtime.InteropServices;  
  7. namespace MyTestDll  
  8. {  
  9.  
  10.      //  这里Guid为第4步生成的。  
  11.     [Guid("FFA4B191-FB5B-4dd5-B7B1-B2F32BF6F1FF")]  
  12.     public interface IMyTestDll  
  13.     {  
  14.         [DispId(0)]  
  15.         string GetAbout();  
  16.     }  
  17.     public class Test1:IMyTestDll  
  18.     {  
  19.         private string summary;  
  20.         public Test1()  
  21.         {  
  22.             summary = "这是我的第一个测试";  
  23.         }  
  24.         public string GetAbout()  
  25.         {  
  26.             return summary;  
  27.         }  
  28.     }  

6 生成项目

ASP测试代码 

  1. <%     
  2.   Dim  o      
  3.   Set o = Server.CreateObject("MyTestDll.Test1")     
  4.   Response.Write o.GetAbout()  
  5.   Set o=Nothing     
  6.   %>    

提示:如果要在其他的电脑使用我们这个C# COM组件还需要是用regasm来注册

方法为:

首先把binDebug目录的文件拷贝到目标电脑上,然后打开命令提示行工具输入:

regasm 你拷贝到的目录/文件名.dll /tlb f:/dll/文件名.tlb /codebase

运行既可在该电脑上使用。

原文标题:使用ASP调用C#写的COM组件

链接:http://www.cnblogs.com/rentj1/archive/2009/02/23/1396187.html


精彩图集

赞助商链接