Soap.InvokeRegistry.TInvokableClass

Aus RAD Studio API Documentation
Wechseln zu: Navigation, Suche

System.TInterfacedObjectSystem.TObjectTInvokableClass

Delphi

TInvokableClass = class(TInterfacedObject, IInterface)

C++

class PASCALIMPLEMENTATION TInvokableClass : public System::TInterfacedObject

Eigenschaften

Typ Sichtbarkeit Quelle Unit Übergeordnet
class public
Soap.InvokeRegistry.pas
Soap.InvokeRegistry.hpp
Soap.InvokeRegistry Soap.InvokeRegistry

Beschreibung

TInvokableClass ist die Basisklasse für die Implementierungsklassen aufrufbarer Schnittstellen.

Verwenden Sie TInvokableClass als Basis für die Implementierungsklasse einer aufrufbaren Schnittstelle. TInvokableClass zeichnet sich durch die folgenden, wichtigen Merkmale aus:

Die Aufrufregistrierung (InvRegistry) weiß, wie Instanzen der Klasse TInvokableClass und (wegen des virtuellen Konstruktors) ihrer Nachkommen erstellt werden. Sie kann dadurch einer Invoker-Komponente in einer Web-Service-Anwendung eine Instanz der aufrufbaren Klasse zur Verfügung stellen, die in der Lage ist, eingehende Anforderungen zu bearbeiten.

TInvokableClass ist ein Schnittstellenobjekt und gibt sich selbst frei, wenn der Referenzzähler der Schnittstelle den Wert 0 erreicht. Invoker-Komponenten wissen nicht, wann die Implementierungsklassen der aufgerufenen Schnittstellen freigegeben werden müssen. Da TInvokableClass diese Aufgabe selbst übernimmt, brauchen Sie sich um die Lebensdauer der Objekte nicht zu kümmern.

TInvokableClass unterstützt die Schnittstelle ISOAPHeaders, so dass Ihr Server die Header von Anforderungen bearbeiten und ausgehenden Antwortnachrichten Header hinzufügen kann.

Um einen Nachkommen von TInvokableClass in einer Web-Service-Anwendung einzusetzen, müssen Sie ihn bei der Aufrufregistrierung registrieren. Verwenden Sie dazu die Methode RegisterInvokableClass der Aufrufregistrierung.

Hinweis: Wenn Sie die Implementierungsklasse für eine aufrufbare Schnittstelle nicht auf der Basis von TInvokableClass entwickeln, müssen Sie für die Aufrufregistrierung eine Methode bereitstellen, mit der sie Instanzen Ihrer Klasse abrufen kann. Außerdem müssen Sie sich selbst um die Lebensdauer der Objekte kümmern. Beim Senden oder Empfangen von SOAP-Headern müssen Sie eine ISOAPHeaders-Schnittstelle mit der globalen Funktion GetSOAPHeaders und nicht von der Implementierungsklasse abrufen.

Siehe auch