Share via


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

  1. 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);
        }
    }
    
  2. 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.
    }
    
  3. 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
    
  4. Implemente la aplicación de componente con servicio registrando su ensamblado de manera dinámica o manual.

  5. 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

ServicedComponent

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.