Exemple d'Asp appelant un composant COM compilé par C#
1 Créez une nouvelle bibliothèque de classes MyTestDLL
2 Cliquez avec le bouton droit sur le projet MyTestDLL-》Properties-》Generate-》Check Register for COM Interop
3 Ouvrez le fichier AssemblyInfo.cs et modifiez [assembly: ComVisible(true)]
4 Ouvrez l'outil d'invite de commande de Visual Sutdio 2008 et entrez guidgen.exe Sélectionnez DEFINE_GUID et cliquez sur Nouveau GUID.
5 codes
1. Chaque nom de classe correspond à un nom d'interface. Le nom de l'interface est le nom de la classe plus un I majuscule.
2. La méthode déclarée dans l'interface doit utiliser l'attribut [DispId(n)]
3. La classe doit avoir un constructeur sans paramètre
Code
utiliser le système ;
en utilisant System.Collections.Generic ;
en utilisant System.Linq ;
en utilisant System.Text ;
en utilisant System.Runtime.InteropServices ;
espace de noms MyTestDll
{
//Le Guid ici est généré à l'étape 4.
[Guid(FFA4B191-FB5B-4dd5-B7B1-B2F32BF6F1FF)]
interface publique IMyTestDll
{
[IDDisp(0)]
chaîne GetAbout();
}
classe publique Test1:IMyTestDll
{
Résumé de la chaîne privée ;
publicTest1()
{
résumé = Ceci est mon premier test ;
}
chaîne publique GetAbout()
{
récapitulatif de retour ;
}
}
}
6 Générer un projet
code de test asp
<%
Dim o
Définir o = Server.CreateObject (MyTestDll.Test1)
Réponse.Écrire o.GetAbout()
Définir o=Rien
%>
Astuce : Si vous souhaitez utiliser le composant COM que nous avons développé en C# sur d'autres ordinateurs, vous devez également l'enregistrer auprès de regasm.
La méthode est :
Copiez d'abord les fichiers du répertoire bin/Debug sur l'ordinateur cible, puis ouvrez l'outil d'invite de commande et saisissez :
regasm Le répertoire/filename.dll que vous avez copié dans /tlb f:/dll/filename.tlb /codebase
Run peut être utilisé sur cet ordinateur