ServicedComponent ServicedComponent ServicedComponent ServicedComponent Class

Definizione

Rappresenta la classe base di tutte le classi che utilizzano i servizi COM+.Represents the base class of all classes using COM+ services.

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
type ServicedComponent = class
    inherit ContextBoundObject
    interface IRemoteDispatch
    interface IDisposable
    interface IServicedComponentInfo
Public MustInherit Class ServicedComponent
Inherits ContextBoundObject
Implements IDisposable, IRemoteDispatch, IServicedComponentInfo
Ereditarietà
Derivato
Attributi
Implementazioni

Esempi

Nell'esempio di codice riportato di seguito viene illustrato come esporre una classe come componente COM configurato.The following code example demonstrates how to expose a class as a configured COM component.


[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);
    }
}

Per distribuire questa classe come componente COM configurato, è necessario generare una chiave complessa, compilare la classe come libreria e registrare la libreria.To deploy this class as a configured COM component, you must generate a strong key, compile the class as a library, and register the library. Questi tre passaggi vengono eseguiti dai tre comandi seguenti.These three steps are accomplished by the following three commands.

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

Commenti

In determinate condizioni, una classe derivata da ServicedComponent eseguita in un'applicazione com+ potrebbe smettere di rispondere.Under certain conditions, a class that is derived from ServicedComponent that runs in a COM+ application may stop responding. Questo problema è causato da un deadlock di attività.This problem is caused by an Activity deadlock. Le attività possono avere un deadlock sulle applicazioni multithread a causa di una pulizia asincrona dei riferimenti ai componenti.Activities can deadlock on multithreaded applications because of an asynchronous cleanup of component references. Per ovviare a questo problema, chiamare Dispose il metodo quando si completa il lavoro con gli ServicedComponentoggetti derivati da.To work around this problem, call the Dispose method when you complete work with objects derived from ServicedComponent.

Nota

Il codice client deve Dispose chiamare sui componenti serviti per garantire il corretto funzionamento.Client code must call Dispose on serviced components to ensure proper operation.

Costruttori

ServicedComponent() ServicedComponent() ServicedComponent() ServicedComponent()

Inizializza una nuova istanza della classe ServicedComponent.Initializes a new instance of the ServicedComponent class.

Metodi

Activate() Activate() Activate() Activate()

Metodo chiamato dall’infrastruttura quando l’oggetto viene creato o allocato da un pool.Called by the infrastructure when the object is created or allocated from a pool. Sottoporre a override il metodo per aggiungere codice di inizializzazione personalizzato agli oggetti.Override this method to add custom initialization code to objects.

CanBePooled() CanBePooled() CanBePooled() CanBePooled()

Questo metodo viene chiamato dall’infrastruttura prima che l’oggetto sia inserito nuovamente nel pool.This method is called by the infrastructure before the object is put back into the pool. Sottoporre a override il metodo per determinare il reinserimento dell'oggetto nel pool.Override this method to vote on whether the object is put back into the pool.

Construct(String) Construct(String) Construct(String) Construct(String)

Metodo chiamato dall'infrastruttura subito dopo la chiamata al costruttore, passando la stringa del costruttore.Called by the infrastructure just after the constructor is called, passing in the constructor string. Sottoporre a override il metodo per utilizzare il valore della stringa del costruttore.Override this method to make use of the construction string value.

CreateObjRef(Type) CreateObjRef(Type) CreateObjRef(Type) CreateObjRef(Type)

Consente di creare un oggetto che contiene tutte le informazioni rilevanti necessarie per la generazione del proxy utilizzato per effettuare la comunicazione con un oggetto remoto.Creates an object that contains all the relevant information required to generate a proxy used to communicate with a remote object.

(Inherited from MarshalByRefObject)
Deactivate() Deactivate() Deactivate() Deactivate()

Metodo chiamato dall’infrastruttura quando l’oggetto sta per essere disattivato.Called by the infrastructure when the object is about to be deactivated. Sottoporre a override il metodo per aggiungere codice di completamento personalizzato agli oggetti quando si utilizza codice compilato JIT o il pool di oggetti.Override this method to add custom finalization code to objects when just-in-time (JIT) compiled code or object pooling is used.

Dispose() Dispose() Dispose() Dispose()

Rilascia tutte le risorse usate da ServicedComponent.Releases all resources used by the ServicedComponent.

Dispose(Boolean) Dispose(Boolean) Dispose(Boolean) Dispose(Boolean)

Rilascia le risorse non gestite usate da ServicedComponent e, facoltativamente, le risorse gestite.Releases the unmanaged resources used by the ServicedComponent and optionally releases the managed resources.

DisposeObject(ServicedComponent) DisposeObject(ServicedComponent) DisposeObject(ServicedComponent) DisposeObject(ServicedComponent)

Consente di completare l'oggetto e di rimuovere il riferimento a COM+ associato.Finalizes the object and removes the associated COM+ reference.

Equals(Object) Equals(Object) Equals(Object) Equals(Object)

Determina se l'oggetto specificato è uguale all'oggetto corrente.Determines whether the specified object is equal to the current object.

(Inherited from Object)
GetHashCode() GetHashCode() GetHashCode() GetHashCode()

Funge da funzione hash predefinita.Serves as the default hash function.

(Inherited from Object)
GetLifetimeService() GetLifetimeService() GetLifetimeService() GetLifetimeService()

Consente di recuperare l'oggetto servizio di durata corrente per controllare i criteri di durata per l'istanza.Retrieves the current lifetime service object that controls the lifetime policy for this instance.

(Inherited from MarshalByRefObject)
GetType() GetType() GetType() GetType()

Ottiene l'oggetto Type dell'istanza corrente.Gets the Type of the current instance.

(Inherited from Object)
InitializeLifetimeService() InitializeLifetimeService() InitializeLifetimeService() InitializeLifetimeService()

Ottiene un oggetto servizio di durata per controllare i criteri di durata per questa istanza.Obtains a lifetime service object to control the lifetime policy for this instance.

(Inherited from MarshalByRefObject)
MemberwiseClone() MemberwiseClone() MemberwiseClone() MemberwiseClone()

Crea una copia superficiale dell'oggetto Object corrente.Creates a shallow copy of the current Object.

(Inherited from Object)
MemberwiseClone(Boolean) MemberwiseClone(Boolean) MemberwiseClone(Boolean) MemberwiseClone(Boolean)

Crea una copia dei riferimenti dell'oggetto MarshalByRefObject corrente.Creates a shallow copy of the current MarshalByRefObject object.

(Inherited from MarshalByRefObject)
ToString() ToString() ToString() ToString()

Restituisce una stringa che rappresenta l'oggetto corrente.Returns a string that represents the current object.

(Inherited from Object)

Implementazioni dell'interfaccia esplicita

IRemoteDispatch.RemoteDispatchAutoDone(String) IRemoteDispatch.RemoteDispatchAutoDone(String) IRemoteDispatch.RemoteDispatchAutoDone(String) IRemoteDispatch.RemoteDispatchAutoDone(String)

Garantisce che, nel contesto COM+, il bit done dell'oggetto della classe ServicedComponent sia impostato su true dopo una chiamata a un metodo remoto.Ensures that, in the COM+ context, the ServicedComponent class object's done bit is set to true after a remote method invocation.

IRemoteDispatch.RemoteDispatchNotAutoDone(String) IRemoteDispatch.RemoteDispatchNotAutoDone(String) IRemoteDispatch.RemoteDispatchNotAutoDone(String) IRemoteDispatch.RemoteDispatchNotAutoDone(String)

Non garantisce che, nel contesto COM+, il bit done dell'oggetto della classe ServicedComponent sia impostato su true dopo una chiamata a un metodo remoto.Does not ensure that, in the COM+ context, the ServicedComponent class object's done bit is set to true after a remote method invocation.

IServicedComponentInfo.GetComponentInfo(Int32, String[]) IServicedComponentInfo.GetComponentInfo(Int32, String[]) IServicedComponentInfo.GetComponentInfo(Int32, String[]) IServicedComponentInfo.GetComponentInfo(Int32, String[])

Ottiene alcune informazioni sull'istanza della classe ServicedComponent.Obtains certain information about the ServicedComponent class instance.

Si applica a