ServicedComponent Clase
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
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 |
IRemoteDispatch.RemoteDispatchNotAutoDone(String) |
No garantiza que, en el contexto de COM+, el valor del bit |
IServicedComponentInfo.GetComponentInfo(Int32, String[]) |
Obtiene cierta información sobre la instancia de la clase ServicedComponent. |