ServicedComponent Clase

Definición

Representa la clase base de todas las clases que usan servicios 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.

Note

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

Constructores

Nombre Description
ServicedComponent()

Inicializa una nueva instancia de la clase ServicedComponent.

Métodos

Nombre Description
Activate()

Lo llama la infraestructura cuando se crea o asigna el objeto desde un grupo. Invalide este método para agregar código de inicialización personalizado a objetos.

CanBePooled()

La infraestructura llama a este método antes de volver a colocar el objeto en el grupo. Invalide este método para votar si el objeto se vuelve a colocar en el grupo.

Construct(String)

Lo llama la infraestructura justo después de llamar al constructor y pasa la cadena del constructor. Invalide este método para usar el valor de cadena de construcción.

CreateObjRef(Type)

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

(Heredado de MarshalByRefObject)
Deactivate()

Lo llama la infraestructura cuando el objeto está a punto de desactivarse. Invalide este método para agregar código de finalización personalizado a objetos cuando se usa código compilado Just-In-Time (JIT) o agrupación de objetos.

Dispose()

Libera todos los recursos usados por .ServicedComponent

Dispose(Boolean)

Libera los recursos no administrados utilizados por ServicedComponent y, opcionalmente, libera los recursos administrados.

DisposeObject(ServicedComponent)

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

Equals(Object)

Determina si el objeto especificado es igual al objeto actual.

(Heredado de Object)
GetHashCode()

Actúa como la función hash predeterminada.

(Heredado de Object)
GetLifetimeService()

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()

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

(Heredado de Object)
MemberwiseClone(Boolean)

Crea una copia superficial del objeto actual MarshalByRefObject .

(Heredado de MarshalByRefObject)
ToString()

Devuelve una cadena que representa el objeto actual.

(Heredado de Object)

Implementaciones de interfaz explícitas

Nombre Description
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 COM+, el ServicedComponent bit del objeto de done clase se establece true en después de una invocación de método remoto.

IRemoteDispatch.RemoteDispatchNotAutoDone(String)

No garantiza que, en el contexto DE COM+, el ServicedComponent bit del objeto de done clase esté establecido true en después de una invocación de método remoto.

IServicedComponentInfo.GetComponentInfo(Int32, String[])

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

Se aplica a