本文以使用W3 JMail為例
1. 生成包含Metadata(元數據)的DLL
在jmail的安裝目錄,鍵入以下命令,將生成jmail_dotnet.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 http://www.aspgreat.com http://www.dotnet
|