Share via


Remoteobjektkonfiguration

Entwickler, die remotefähige Objekte verwenden oder veröffentlichen, sind dafür verantwortlich, das .NET-Remoteystem so zu konfigurieren, dass Anwendungen, die .NET Remoting verwenden, ordnungsgemäß funktionieren. Dies kann entweder programmgesteuert oder durch die Verwendung der Anwendungskonfigurationsdatei bzw. der Computerkonfigurationsdatei sichergestellt werden. Anschließend können Administratoren mithilfe des .NET Framework Configuration-Tools die Remoteclients auf verschiedene Endpunkte verweisen oder bei Bedarf die Lebensdauer von clientaktivierten (<activated>) oder serveraktivierten (<wellknown>) Objekten ändern.

Remotefähige Klassen werden registriert, indem Sie diese innerhalb des <application>-Elements platzieren, das dem <system.runtime.remoting>-Element untergeordnet ist. Objekte, die von einer Anwendung verwendet werden, werden unter dem <client>-Abschnitt innerhalb des <application>-Elements nach Remoteanwendung gruppiert. Objekte, die von einer Anwendung verfügbar gemacht werden, werden in einem <service>-Abschnitt innerhalb des <application>-Knotens deklariert. Wenn Sie die Remotetypen nicht in Internet-Informationsdienste (Internet Information Services, IIS) hosten, können Sie ein name-Attribut für die Anwendung angeben, das dann als Teil des Aktivierungs-URL verwendet, jedoch in keinem Szenario benötigt wird. Ausführliche Informationen zum Hosting in IIS finden Sie unter Hosting von Remoteobjekten in Internet Information Services (IIS).

Außerdem übernimmt .NET Remoting nicht automatisch Remotekonfigurationswerte in der Anwendungskonfigurationsdatei. Um Remoting mit einer Konfigurationsdatei zu konfigurieren, müssen Sie RemotingConfiguration.Configure aufrufen. Die Hostanwendungsdomäne lädt die Remotekonfigurationsdatei nur dann automatisch, wenn der remotefähige Typ in IIS gehostet wird. In diesem Fall übernimmt .NET Remoting nur die Diensteinstellungen aus der Datei Web.config automatisch. Clienteinstellungen werden ignoriert, bis die Konfigurationsdatei durch einen direkten Aufruf der RemotingConfiguration.Configure-Methode erneut geladen wird.

Das folgende Schema veranschaulicht die Struktur der Elemente, die Sie verwenden können, um eine Anwendung für die Verwendung von .NET Remoting zu konfigurieren.

<configuration>

<system.runtime.remoting>

<application>

<lifetime>

<channels> (Instanz)

<channel> (Instanz)

<serverProviders> (Instanz)

<provider> (Instanz)

<formatter> (Instanz)

<clientProviders> (Instanz)

<provider> (Instanz)

<formatter> (Instanz)

<client>

<wellknown> (Clientinstanz)

<activated> (Clientinstanz)

<service>

<wellknown> (Dienstinstanz)

<activated> (Dienstinstanz)

<soapInterop>

<interopXmlType>

<interopXmlElement>

<preLoad>

<channels> (Vorlage)

<channel> (Vorlage)

<serverProviders> (Instanz)

<provider> (Instanz)

<formatter> (Instanz)

<clientProviders> (Instanz)

<provider> (Instanz)

<formatter> (Instanz)

<channelSinkProviders>

<serverProviders> (Vorlage)

<provider> (Vorlage)

<formatter> (Vorlage)

<clientProviders> (Vorlage)

<provider> (Vorlage)

<formatter> (Vorlage)

<debug>

Um die Remoteeinstellungen verwenden zu können, müssen Sie RemotingConfiguration.Configure für die Anwendungskonfigurationsdatei aufrufen. Die Common Language Runtime lädt die Computerkonfigurationsdatei automatisch, bevor die Anwendungskonfigurationsdatei geladen wird. Sie dürfen RemotingConfiguration.Configure nicht für die Computerkonfigurationsdatei aufrufen. Hierdurch könnten Ausnahmen verursacht werden, falls Objekte, die sich bereits im Speicher befinden, erneut geladen werden.

Lebensdauerkonfiguration

Sie können eine standardmäßige Lebensdauer für alle clientaktivierten Objekte und alle serveraktivierten Singleton-Objekte in einer Anwendung angeben, indem Sie das <lifetime>-Element verwenden.

Ausführliche Informationen über programmgesteuerte Konfigurations- und Lebensdauerkonzepte finden Sie unter Lebensdauer-Leases.

Instanz- und Vorlagenelemente

Es gibt zwei Arten von Elementen, die für die Erstellung von Channels relevant sind: Vorlagenelemente und Instanzelemente. Vorlagenelemente werden verwendet, um entweder einen Channel, einen Channelsenkenanbieter des Servers bzw. des Clients oder ein Channelsenken-Formatierungsprogramm des Servers bzw. des Clients zu deklarieren. Diese können dann an einer beliebigen Stelle in derselben Anwendung verwendet werden, indem lediglich auf die ID-Attribute des Vorlagenelements verwiesen wird.

NoteHinweis:

Wenn Sie das type-Attribut in einem Vorlagenelement zum Erstellen einer Standardkonfiguration verwenden, in der ein durch das System implementierter Typ, z. B. BinaryFormatter oder HttpChannel, enthalten ist, müssen Sie die vollständigen Typinformationen, einschließlich Version, Kultur und Informationen zu starken Namen, angeben. Diese Informationen können anhand der Datei machine.config oder mithilfe des Global Assembly Cache-Tools Gacutil.exe ermittelt werden. Wenn der Typ in einer Assembly definiert ist, die sich nicht im globalen Assemblycache befindet, aber auffindbar ist, oder wenn Sie in einem Instanzelement auf den Typ verweisen und das ref-Attribut verwenden können, ist dies nicht erforderlich.

Siehe auch

Aufgaben

Gewusst wie: Konfigurieren der Lebensdauer von clientaktivierten oder serveraktivierten Remoteobjekten
Gewusst wie: Konfigurieren von Channels

Referenz

System.Runtime.Remoting.RemotingConfiguration Class

Konzepte

Konfiguration von Remoteanwendungen
Channels
Channelregistrierung
Serverseitige Registrierung
Clientregistrierung
Channelregistrierung

Weitere Ressourcen

Registrieren von Remoteobjekten mit Konfigurationsdateien
.Übersicht über .NET Framework-Remoting

Footer image

Copyright © 2007 by Microsoft Corporation. Alle Rechte vorbehalten.