Cómo crear un componente con servicio
En el procedimiento siguiente se describe cómo crear un nuevo componente con servicio.
Para crear un componente con servicio
Defina una clase que se derive directa o indirectamente de la clase ServicedComponent. Por ejemplo, con el código siguiente se garantiza que la clase
Calculator
está alojada en una aplicación COM+.Imports System.EnterpriseServices Public Class Account Inherits ServicedComponent Function Add (x as Integer, y as Integer) As Integer Add = x + y End Function End Class
using System.EnterpriseServices; public class Calculator : ServicedComponent { public int Add (int x, int y) { return(x+y); } }
Aplique atributos para indicar cómo debe interactuar cada ensamblado, clase o método con la funcionalidad COM+.
Nota: En la versión 1.1 de .NET Framework, la configuración de seguridad COM+ está habilitada de forma predeterminada si el atributo ApplicationAccessControlAttribute no está presente en el ensamblado. Se trata de un cambio de comportamiento en relación con la versión 1.0 de .NET Framework.
<Assembly: ApplicationName(“Calculator”)> <Assembly: System.Reflection.AssemblyKeyFile(“Calculator.snk”)> <MustRunInClientContext> _ Public Class Account Inherits ServicedComponent ‘ Member definitions. End Class
[assembly: ApplicationName("Calculator")] [assembly: System.Reflection.AssemblyKeyFile("Calculator.snk")] [MustRunInClientContext] public class Calculator : ServicedComponent { // Member definitions. }
Genere una clave segura y compile el ejemplo de la manera siguiente:
sn –k Calculator.snk vbc /t:library /r:System.EnterpriseServices.dll Calculator.vb
sn –k Calculator.snk csc /t:library /r:System.EnterpriseServices.dll Calculator.cs
Implemente la aplicación de componente con servicio registrando su ensamblado de manera dinámica o manual.
Una vez que se ha registrado un componente con servicio, los clientes pueden crear instancias del componente igual que lo hacen de cualquier otro componente. Para obtener un ejemplo completo, vea Ejemplo de componente con servicio.
Nota: En las plataformas de Windows 2000, COM+ carga siempre la versión más reciente de Common Language Runtime para el componente que se esté creando. Esto significa que en un equipo en el que estén instaladas tanto la versión 1.0 como la versión 1.1 de .NET Framework, la versión 1.1 de .NET Framework siempre está cargada. Para solucionarlo, puede crear un archivo de configuración dllhost.exe de COM+ que le permita "bloquear" todas las aplicaciones a una versión específica de .NET Framework. En las plataformas Windows XP y Windows Server 2003, la configuración del directorio raíz de la aplicación se puede utilizar para hacer que COM+ apunte a un directorio adecuado para su archivo de configuración.
Ejemplo
Imports System.EnterpriseServices
<Assembly: ApplicationName(“Calculator”)>
<Assembly: System.Reflection.AssemblyKeyFile(“Calculator.snk”)>
<MustRunInClientContext> _
Public Class Account
Inherits ServicedComponent
Function Add (x as Integer, y as Integer) As Integer
Add = x + y
End Function
End Class
using System.EnterpriseServices;
[assembly: ApplicationName("Calculator")]
[assembly: System.Reflection.AssemblyKeyFile("Calculator.snk")]
[MustRunInClientContext]
public class Calculator : ServicedComponent
{
public int Add (int x, int y)
{
return(x+y);
}
}
Consulte también
Referencia
Conceptos
Aplicar atributos para configurar servicios COM+
Registrar componentes con servicio
Ejemplo de componente con servicio
Resumen de los servicios COM+ disponibles
Otros recursos
Escribir componentes con servicio
Copyright © 2007 Microsoft Corporation. Reservados todos los derechos.