Exemplo de Asp chamando componente COM compilado por C#
1 Crie uma nova biblioteca de classes MyTestDLL
2 Clique com o botão direito no projeto MyTestDLL-》Propriedades-》Gerar-》Verificar registro para interoperabilidade COM
3 Abra o arquivo AssemblyInfo.cs e modifique [assembly: ComVisible(true)]
4 Abra a ferramenta de prompt de comando do Visual Sutdio 2008 e digite guidgen.exe Selecione DEFINE_GUID e clique em Novo GUID.
5 códigos
1. Cada nome de classe corresponde a um nome de interface. O nome da interface é o nome da classe mais um I maiúsculo.
2. O método declarado na interface deve utilizar o atributo [DispId(n)]
3. A classe deve ter um construtor sem parâmetros
Código
usando o sistema;
usando System.Collections.Generic;
usando System.Linq;
usando System.Text;
usando System.Runtime.InteropServices;
namespace MyTestDll
{
//O Guid aqui é gerado na etapa 4.
[Guia(FFA4B191-FB5B-4dd5-B7B1-B2F32BF6F1FF)]
interface pública IMyTestDll
{
[DispId(0)]
string GetAbout();
}
classe pública Test1:IMyTestDll
{
Resumo de string privada;
publicTest1()
{
resumo = Este é meu primeiro teste;
}
string pública GetAbout()
{
resumo do retorno;
}
}
}
6 Gerar projeto
código de teste asp
<%
Escurecer
Definir o = Server.CreateObject(MyTestDll.Test1)
Response.Write o.GetAbout()
Definir o=Nada
%>
Dica: Caso queira utilizar o componente COM que desenvolvemos em C# em outros computadores, você também precisa registrá-lo no regasm.
O método é:
Primeiro copie os arquivos no diretório bin/Debug para o computador de destino, abra a ferramenta de prompt de comando e digite:
regasm O diretório/filename.dll que você copiou para /tlb f:/dll/filename.tlb /codebase
Run pode ser usado neste computador