Ejemplo de Asp llamando a un componente COM compilado por C#
1 Cree una nueva biblioteca de clases MyTestDLL
2 Haga clic derecho en el proyecto MyTestDLL-》Propiedades-》Generar-》Verificar Registrarse para interoperabilidad COM
3 Abra el archivo AssemblyInfo.cs y modifique [ensamblaje: ComVisible(true)]
4 Abra la herramienta de símbolo del sistema de Visual Sutdio 2008 e ingrese guidgen.exe. Seleccione DEFINE_GUID y haga clic en Nuevo GUID.
5 códigos
1. Cada nombre de clase corresponde a un nombre de interfaz. El nombre de la interfaz es el nombre de la clase más una I mayúscula.
2. El método declarado en la interfaz debe utilizar el atributo [DispId(n)]
3. La clase debe tener un constructor sin parámetros.
Código
usando Sistema;
usando System.Collections.Generic;
usando System.Linq;
usando System.Text;
usando System.Runtime.InteropServices;
espacio de nombres MyTestDll
{
//El Guid aquí se genera en el paso 4.
[Guía (FFA4B191-FB5B-4dd5-B7B1-B2F32BF6F1FF)]
interfaz pública IMyTestDll
{
[IdDisp(0)]
cadena GetAbout();
}
clase pública Prueba1:IMyTestDll
{
Resumen de cadena privada;
prueba pública1()
{
resumen = Esta es mi primera prueba;
}
cadena pública GetAbout()
{
resumen de devolución;
}
}
}
6 Generar proyecto
código de prueba asp
<%
tenue o
Establecer o = Server.CreateObject(MyTestDll.Test1)
Respuesta.Escribir o.GetAbout()
Establecer o=Nada
%>
Consejo: si desea utilizar el componente COM que desarrollamos en C# en otras computadoras, también debe registrarlo con regasm.
El método es:
Primero copie los archivos en el directorio bin/Debug a la computadora de destino, luego abra la herramienta del símbolo del sistema e ingrese:
regasm El directorio/filename.dll que copiaste en /tlb f:/dll/filename.tlb /codebase
Ejecutar se puede utilizar en esta computadora