Ao contrário do que parece, o processo para criação de um COM+ usando C# é bem tranquilo. Não tão tranquilo quanto no famoso VB6, mas é simples.
Para isso crie um novo projeto Class Library e utilize o pacote (alguns preferem chamar de namespace) System.EnterpriseServices.
Agora devemos especificar a transação requisitada pelo componente. Para isso coloque a seguinte linha antes da declaração de sua classe:
[Transaction(TransactionOption.Required)]
Sua classe deverá herdar a ServicedComponent:
public class COMplus : ServicedComponent
Agora vem a parte que pode dar um pouco mais de trabalho: Criar uma chave de assinatura.
1º Acrescente a seguinte linha ao arquivo de informações do Assembly (AssemblyInfo.cs):
[assembly: AssemblyKeyFileAttribute("..\\..\\snEnterprise.snk")]
2º Execute o prompt de comando do Visual Studio (Iniciar > Todos os programas > Microsoft Visual Studio 2008 > Visual Studio Tools > Visual Studio 2008 Command Prompt) e digite a seguinte linha:
sn.exe -k c:\ProjetoCOMplus\snEnterprise.snk
Agora é só compilar e registrar a DLL. Aí entra, digamos assim, 'o segredo'. As DLL's COM+ em C# não são registradas no padrão regsvr32 e sim utilizando o regasm que vem no Framework .Net.
Para registrar sua DLL, no mesmo prompt de comando aberto anteriormente digite:
regasm c:\ProjetoCOMplus\bin\Debug\Arquivo.dll /tlb /codebase
Pronto. Seu componente está criado e registrado. Dessa forma seu código pode ser tranquilamente utilizado em outras plataformas de desenvolvimento como ASP e Delphi.
Há 14 anos
2 comentários:
:)
Só faltou postar o código todo pra ficar bonito!
Postar um comentário