Hola,
Desarrollé mi priemer componente .NET usando System.EnterpriseServices, System.Reflection, ServicedComponent (manejo de tranasacciones en el código y todo)... etc (uds. saben), éste trabaja muy bien. Cuando agrego una referencia a ese ensamblado (.DLL) desde mi proyecto de ASP.NET no tengo ningún problema.
Para publicar en COM+ utilicé las herramientas sn.xe, gacutil.exe y RegSvcs.exe como todos sabe hacerlo.
Todo bien excepto por el WARNING en el mensaje del RegSvcs.exe que aparece:
(mensaje)
Copyright (C) Microsoft Corporation 1998-2002. All rights reserved.
WARNING: The assembly does not declare an ApplicationAccessControl Attribute. Application security will be enabled by default.
Installed Assembly:
Assembly: C:\VSProjects\clsProbe\bin\clsProbe.dll
Application: MathFunctions
TypeLib: C:\VSProjects\clsProbe\bin\clsProbe.tlb
Bueno, he probado éste componente usando VB 6.0 y trabaja perfectamente, pero tengo problemas en la siguiente situación:
Estoy trabajando con el IDE de VS.NET 2003 con mi aplicacion ASP.NET (VB) en la que deseo usar el componente servido en COM+, agrego la referencia a ese componente que cree buscandolo por el tab COM (recordar: NET|COM|Projects), en ese momento aparece el problema, un mensaj de error es mostrado:
"A reference to 'NombreDelComponente' could not be added Converting the type library to a .NET assembly failed. Type library NombreDelComponente was exported from a CLR assembly and can not be re-imported as a CLR assembly."
Mis dudas son:
Cuando desarrollo un componente para ser servido en COM+,
1. ¿Cómo puedo usarlo en mi WebForm?
2. Cuando desarrolo mi componente usando System.EnterpriseServices (manejando tranasaciones y todo), luago lo tomo y lo publico en COM+ Services, ¿es necesario buscar como sité anteriormente entre los componentes COM ese comoponente que hice y hacer una referencia a él?,
en otras palabras,
¿Cómo .NET Framework esas clases para hacer tranasaciones?, ¿acaso .NET Framework hará el trabajo que hace COM+? y por eso es que la referencia directa al assembly (.DLL) me funciona y no al COM?
Como pueden notar soy un nuevo al respecto, pero tengo esas dudas, me perece que el .NET Framework hace el trabajo del COM+, pero no me parece tampoo porque donde definiría roles y vería estadísticas y eventos, etc... Lo más probable es que esté haciendo algo mal. Si desean, puedo publicar el código y paso a paso cómo lo registro.
Gracias adelantadas,
l-t
Leer las respuestas