Beispiel für einen Asp-Aufruf einer mit C# kompilierten COM-Komponente
1 Erstellen Sie eine neue Klassenbibliothek MyTestDLL
2 Klicken Sie mit der rechten Maustaste auf das Projekt MyTestDLL-》Eigenschaften-》Generieren-》Register für COM-Interop prüfen
3 Öffnen Sie die Datei AssemblyInfo.cs und ändern Sie [assembly: ComVisible(true)]
4 Öffnen Sie das Eingabeaufforderungstool von Visual Sutdio 2008 und geben Sie guidgen.exe ein. Wählen Sie DEFINE_GUID und klicken Sie auf Neue GUID.
5 Codes
1. Jeder Klassenname entspricht einem Schnittstellennamen. Der Schnittstellenname ist der Klassenname plus ein großes I.
2. Die in der Schnittstelle deklarierte Methode muss das Attribut [DispId(n)] verwenden.
3. Die Klasse muss einen parameterlosen Konstruktor haben
Code
Verwenden des Systems;
mit System.Collections.Generic;
mit System.Linq;
Verwenden von System.Text;
Verwenden von System.Runtime.InteropServices;
Namespace MyTestDll
{
//Die Guid hier wird in Schritt 4 generiert.
[Leitfaden(FFA4B191-FB5B-4dd5-B7B1-B2F32BF6F1FF)]
öffentliche Schnittstelle IMyTestDll
{
[DispId(0)]
string GetAbout();
}
öffentliche Klasse Test1:IMyTestDll
{
Private String-Zusammenfassung;
publicTest1()
{
Zusammenfassung = Dies ist mein erster Test;
}
öffentliche Zeichenfolge GetAbout()
{
Zusammenfassung der Rücksendung;
}
}
}
6 Projekt generieren
ASP-Testcode
<%
Dim o
Setze o = Server.CreateObject(MyTestDll.Test1)
Response.Write o.GetAbout()
Setze o=Nichts
%>
Tipp: Wenn Sie die von uns in C# entwickelte COM-Komponente auf anderen Computern nutzen möchten, müssen Sie diese ebenfalls bei regasm registrieren.
Die Methode ist:
Kopieren Sie zunächst die Dateien im Verzeichnis bin/Debug auf den Zielcomputer, öffnen Sie dann das Eingabeaufforderungstool und geben Sie Folgendes ein:
regasm Das Verzeichnis/filename.dll, das Sie nach /tlb f:/dll/filename.tlb /codebase kopiert haben
Run kann auf diesem Computer verwendet werden