• 软件测试技术
  • 软件测试博客
  • 软件测试视频
  • 开源软件测试技术
  • 软件测试论坛
  • 软件测试沙龙
  • 软件测试资料下载
  • 软件测试杂志
  • 软件测试人才招聘
    暂时没有公告

字号: | 推荐给好友 上一篇 | 下一篇

.NET编程中使用旧有的COM组件

发布: 2007-7-01 11:09 | 作者: admin | 来源: | 查看: 16次 | 进入软件测试论坛讨论

领测软件测试网 本文以使用W3 JMail为例

1. 生成包含Metadata(元数据)的DLL

在jmail的安装目录,键入以下命令,将生成jmail_do.net.dll

TlbImp jmail.dll /out:jmail_dotnet.dll

事实上,因为实际的JMail组件为一"unmanaged"(不受控) COM组件,因此需要一个Proxy在ASP+应用程序和COM组件之间搭桥。

2. 放置 Metadata DLL

对于ASP+页面,有两种途径:
1)置于该页面所在目录的bin子目录;
2)置于该页面所在的目录。
对于第二种方法,在每一个需要使用JMail的ASP+页面,我们都需要使用一个@Assembly语句,因此推荐使用第一种方法,将jmail_dotnet.dll拷入该页面所在目录的bin子目录。

对于普通的C#程序,将它和源码放在一起就行了。

3. 取得组件的有关详细信息

我们需要知道
1) Namespace (用于@Import语句或using语句)
2) 准确的类名
3) 方法和属性的数据类型
4) 方法和属性精准的拼写(C#严格区分大小写)

这些信息可以用NGWS SDK自带的工具IL (Intermediate Language) Disassembler 解析刚刚的Metadata DLL得到。详细的信息就不多说了,好好看看吧。

4. 使用

两个最简单的例子

——————————————————————————————
C#程序

//C#:sendmail.cs,使用csc /r:jmail_dotnet.dll sendmail.cs编译

using System;
using jmail;

public class jmailversion {
  public static void Main() {
    SMTPMail email = new SMTPMail();
    String strVersion = email.Version;
    System.Console.WriteLine(strVersion);
  }
}

——————————————————————————————
ASP+页面:

<% @Page Language="C#" %>
<% @Import Namespace="jmail" %>
<%
SMTPMail email = new SMTPMail();
String strVersion = email.Version;
Response.Write(strVersion);
%>

——————————————————————————————
SunADM@2K1007

延伸阅读

文章来源于领测软件测试网 https://www.ltesting.net/


关于领测软件测试网 | 领测软件测试网合作伙伴 | 广告服务 | 投稿指南 | 联系我们 | 网站地图 | 友情链接
版权所有(C) 2003-2010 TestAge(领测软件测试网)|领测国际科技(北京)有限公司|软件测试工程师培训网 All Rights Reserved
北京市海淀区中关村南大街9号北京理工科技大厦1402室 京ICP备10010545号-5
技术支持和业务联系:info@testage.com.cn 电话:010-51297073

软件测试 | 领测国际ISTQBISTQB官网TMMiTMMi认证国际软件测试工程师认证领测软件测试网