ServicedComponent ServicedComponent ServicedComponent ServicedComponent Class

Definition

Stellt die Basisklasse aller Klassen dar, die COM+-Dienste verwenden.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
Vererbung
Abgeleitet
Attribute
Implementiert

Beispiele

Im folgenden Codebeispiel wird veranschaulicht, wie eine Klasse als eine konfigurierte COM-Komponente verfügbar gemacht wird.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);
    }
}

Um diese Klasse als eine konfigurierte COM-Komponente bereitzustellen, müssen Sie generieren ein starken Schlüssels, kompilieren Sie die Klasse als Bibliothek und die Bibliothek registrieren.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. Diese drei Schritte werden durch die folgenden drei Befehle erreicht.These three steps are accomplished by the following three commands.

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

Hinweise

Unter bestimmten Bedingungen kann eine abgeleitete Klasse, von ServicedComponent , ausgeführt wird, in einer COM+-Anwendung nicht mehr reagieren.Under certain conditions, a class that is derived from ServicedComponent that runs in a COM+ application may stop responding. Dieses Problem wird durch eine Aktivitätsdeadlock verursacht.This problem is caused by an Activity deadlock. Aktivitäten können für Multithread-Anwendungen aufgrund eines asynchronen Cleanup von komponentenverweisen ein Deadlock auftreten.Activities can deadlock on multithreaded applications because of an asynchronous cleanup of component references. Um dieses Problem zu umgehen, rufen Sie die Dispose Methode, die nach Abschluss der Arbeit mit Objekten, die von abgeleiteten ServicedComponent.To work around this problem, call the Dispose method when you complete work with objects derived from ServicedComponent.

Hinweis

Clientcode muss Aufrufen Dispose für serviced Components um ordnungsgemäßen Betrieb sicherzustellen.Client code must call Dispose on serviced components to ensure proper operation.

Konstruktoren

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

Initialisiert eine neue Instanz der ServicedComponent-Klasse.Initializes a new instance of the ServicedComponent class.

Methoden

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

Wird von der Infrastruktur aufgerufen, wenn das Objekt erstellt oder in einem Pool reserviert wird.Called by the infrastructure when the object is created or allocated from a pool. Überschreiben Sie diese Methode, um Objekten benutzerdefinierten Initialisierungscode hinzuzufügen.Override this method to add custom initialization code to objects.

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

Diese Methode wird von der Infrastruktur aufgerufen, bevor das Objekt wieder im Pool abgelegt wird.This method is called by the infrastructure before the object is put back into the pool. Überschreiben Sie diese Methode, um zu bestimmen, ob das Objekt wieder im Pool abgelegt werden soll.Override this method to vote on whether the object is put back into the pool.

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

Wird von der Infrastruktur direkt nach dem Aufruf des Konstruktors aufgerufen, wobei die Konstruktorzeichenfolge übergeben wird.Called by the infrastructure just after the constructor is called, passing in the constructor string. Überschreiben Sie diese Methode, um den Wert der Konstruktionszeichenfolge verwenden zu können.Override this method to make use of the construction string value.

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

Erstellt ein Objekt mit allen relevanten Informationen, die zum Generieren eines Proxys für die Kommunikation mit einem Remoteobjekt erforderlich sind.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()

Wird von der Infrastruktur aufgerufen, wenn das Objekt gerade deaktiviert wird.Called by the infrastructure when the object is about to be deactivated. Überschreiben Sie diese Methode, wenn Objekten bei Verwendung von JIT-kompiliertem Code (Just-in-Time) oder Objektpooling benutzerdefinierter Finalisierungscode hinzugefügt werden soll.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()

Gibt alle vom ServicedComponent verwendeten Ressourcen frei.Releases all resources used by the ServicedComponent.

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

Gibt die von ServicedComponent verwendeten nicht verwalteten Ressourcen und optional die verwalteten Ressourcen frei.Releases the unmanaged resources used by the ServicedComponent and optionally releases the managed resources.

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

Finalisiert das Objekt und entfernt den zugeordneten COM+-Verweis.Finalizes the object and removes the associated COM+ reference.

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

Bestimmt, ob das angegebene Objekt mit dem aktuellen Objekt identisch ist.Determines whether the specified object is equal to the current object.

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

Fungiert als Standardhashfunktion.Serves as the default hash function.

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

Ruft das aktuelle Lebensdauerdienstobjekt ab, das die Lebensdauerrichtlinien für diese Instanz steuert.Retrieves the current lifetime service object that controls the lifetime policy for this instance.

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

Ruft den Type der aktuellen Instanz ab.Gets the Type of the current instance.

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

Ruft ein Lebensdauerdienstobjekt zur Steuerung der Lebensdauerrichtlinie für diese Instanz ab.Obtains a lifetime service object to control the lifetime policy for this instance.

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

Erstellt eine flache Kopie des aktuellen Object.Creates a shallow copy of the current Object.

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

Erstellt eine flache Kopie des aktuellen MarshalByRefObject-Objekts.Creates a shallow copy of the current MarshalByRefObject object.

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

Gibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt.Returns a string that represents the current object.

(Inherited from Object)

Explizite Schnittstellenimplementierungen

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

Stellt sicher, dass das done-Bit eines ServicedComponent-Klassenobjekts im COM+-Kontext nach einem Remotemethodenaufruf auf true festgelegt ist.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)

Stellt nicht sicher, dass das done-Bit eines ServicedComponent-Klassenobjekts im COM+-Kontext nach einem Remotemethodenaufruf auf true festgelegt ist.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[])

Ruft bestimmte Informationen über die ServicedComponent-Klasseninstanz ab.Obtains certain information about the ServicedComponent class instance.

Gilt für: