Compartir vía


ServicedComponent Clase

Definición

Representa la clase base de todas las clases que utilizan servicios de COM+.

public ref class ServicedComponent abstract : ContextBoundObject, IDisposable, System::EnterpriseServices::IRemoteDispatch, System::EnterpriseServices::IServicedComponentInfo
[System.Serializable]
public abstract class ServicedComponent : ContextBoundObject, IDisposable, System.EnterpriseServices.IRemoteDispatch, System.EnterpriseServices.IServicedComponentInfo
[<System.Serializable>]
type ServicedComponent = class
    inherit ContextBoundObject
    interface IRemoteDispatch
    interface IDisposable
    interface IServicedComponentInfo
Public MustInherit Class ServicedComponent
Inherits ContextBoundObject
Implements IDisposable, IRemoteDispatch, IServicedComponentInfo
Herencia
Derivado
Atributos
Implementaciones

Ejemplos

En el ejemplo de código siguiente se muestra cómo exponer una clase como un componente COM configurado.


[assembly:ApplicationName("Calculator")];
[assembly:ApplicationActivation(ActivationOption::Library)];
[assembly:System::Reflection::AssemblyKeyFile("Calculator.snk")];
public ref class Calculator: public ServicedComponent
{
public:
   int Add( int x, int y )
   {
      return (x + y);
   }

};
using System;
using System.EnterpriseServices;

[assembly: ApplicationName("Calculator")]
[assembly: ApplicationActivation(ActivationOption.Library)]
[assembly: System.Reflection.AssemblyKeyFile("Calculator.snk")]
public class Calculator : ServicedComponent
{
    public int Add (int x, int y)
    {
        return(x+y);
    }
}

Para implementar esta clase como un componente COM configurado, debe generar una clave segura, compilar la clase como una biblioteca y registrar la biblioteca. Estos tres pasos se realizan mediante los tres comandos siguientes.

sn -k Calculator.snk  
csc /t:library Calculator.cs  
regsvcs Calculator.dll  

Comentarios

En determinadas condiciones, una clase derivada de ServicedComponent que se ejecuta en una aplicación COM+ puede dejar de responder. Este problema se debe a un interbloqueo de actividad. Las actividades pueden interbloqueo en aplicaciones multiproceso debido a una limpieza asincrónica de referencias de componentes. Para solucionar este problema, llame al Dispose método cuando complete el trabajo con objetos derivados de ServicedComponent.

Nota

El código de cliente debe llamar a Dispose en componentes con servicio para garantizar una operación adecuada.

Constructores

ServicedComponent()

Inicializa una nueva instancia de la clase ServicedComponent.

Métodos

Activate()

La infraestructura se encarga de llamar a este método cuando el objeto se crea o se asigna desde una agrupación. Reemplace este método para agregar código de inicialización personalizado a los objetos.

CanBePooled()

La infraestructura se encarga de llamar a este método cuando el objeto se crea o se asigna desde una agrupación de objetos. Reemplace este método para decidir si el objeto se devuelve a la agrupación.

Construct(String)

La infraestructura llama a este método justo después de que se llame al constructor, pasando la cadena de constructor. Reemplace este método para poder utilizar el valor de la cadena de construcción.

CreateObjRef(Type)

Crea un objeto que contiene toda la información relevante necesaria para generar un proxy utilizado para comunicarse con un objeto remoto.

(Heredado de MarshalByRefObject)
Deactivate()

La infraestructura llama a este método cuando el objeto está a punto de ser desactivado. Reemplace este método para agregar código de finalización personalizado a los objetos cuando se utiliza código compilado just-in-time (JIT) o agrupamiento de objetos.

Dispose()

Libera todos los recursos que usa ServicedComponent.

Dispose(Boolean)

Libera los recursos no administrados que usa ServicedComponent y, de forma opcional, libera los recursos administrados.

DisposeObject(ServicedComponent)

Finaliza el objeto y elimina la referencia de COM+ asociada.

Equals(Object)

Determina si el objeto especificado es igual que el objeto actual.

(Heredado de Object)
GetHashCode()

Sirve como la función hash predeterminada.

(Heredado de Object)
GetLifetimeService()
Obsoletos.

Recupera el objeto de servicio de duración actual que controla la directiva de duración de esta instancia.

(Heredado de MarshalByRefObject)
GetType()

Obtiene el Type de la instancia actual.

(Heredado de Object)
InitializeLifetimeService()
Obsoletos.

Obtiene un objeto de servicio de duración para controlar la directiva de duración de esta instancia.

(Heredado de MarshalByRefObject)
MemberwiseClone()

Crea una copia superficial del Object actual.

(Heredado de Object)
MemberwiseClone(Boolean)

Crea una copia superficial del objeto MarshalByRefObject actual.

(Heredado de MarshalByRefObject)
ToString()

Devuelve una cadena que representa el objeto actual.

(Heredado de Object)

Implementaciones de interfaz explícitas

IRemoteDispatch.RemoteDispatchAutoDone(String)

Esta API admite la infraestructura de producto y no está pensada para usarse directamente en el código.

Garantiza que, en el contexto de COM+, el valor del bit done del objeto de la clase ServicedComponent se establece en true después de invocarse un método remoto.

IRemoteDispatch.RemoteDispatchNotAutoDone(String)

No garantiza que, en el contexto de COM+, el valor del bit done del objeto de la clase ServicedComponent se establezca en true después de invocarse un método remoto.

IServicedComponentInfo.GetComponentInfo(Int32, String[])

Obtiene cierta información sobre la instancia de la clase ServicedComponent.

Se aplica a