RemotingConfiguration.RegisterWellKnownClientType Methode
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Registriert ein Objekt Type am Clientende als bekannter Typ (einzelner Aufruf oder Singleton).
Überlädt
| Name | Beschreibung |
|---|---|
| RegisterWellKnownClientType(WellKnownClientTypeEntry) |
Registriert ein objekt Type , das im bereitgestellten WellKnownClientTypeEntry Client-End aufgezeichnet wird, als bekannter Typ, der auf dem Server aktiviert werden kann. |
| RegisterWellKnownClientType(Type, String) |
Registriert ein Objekt Type am Clientende als bekannter Typ, der auf dem Server aktiviert werden kann, wobei die angegebenen Parameter zum Initialisieren einer neuen Instanz der WellKnownClientTypeEntry Klasse verwendet werden können. |
RegisterWellKnownClientType(WellKnownClientTypeEntry)
Registriert ein objekt Type , das im bereitgestellten WellKnownClientTypeEntry Client-End aufgezeichnet wird, als bekannter Typ, der auf dem Server aktiviert werden kann.
public:
static void RegisterWellKnownClientType(System::Runtime::Remoting::WellKnownClientTypeEntry ^ entry);
public static void RegisterWellKnownClientType(System.Runtime.Remoting.WellKnownClientTypeEntry entry);
static member RegisterWellKnownClientType : System.Runtime.Remoting.WellKnownClientTypeEntry -> unit
Public Shared Sub RegisterWellKnownClientType (entry As WellKnownClientTypeEntry)
Parameter
- entry
- WellKnownClientTypeEntry
Konfigurationseinstellungen für den bekannten Typ.
Ausnahmen
Mindestens einer der Anrufer im Callstack verfügt nicht über die Berechtigung zum Konfigurieren von Remotingtypen und Kanälen.
Hinweise
Jeder Client, der den URI eines registrierten bekannten Objekts kennt, kann einen Proxy für das Objekt abrufen, indem er den gewünschten ChannelServicesKanal registriert und das Objekt durch Aufrufen new oder Activator.GetObjectAktivieren des Objekts aktiviert. Um ein bekanntes Objekt mit newzu aktivieren, müssen Sie zuerst den bekannten Objekttyp auf dem Client mithilfe der RegisterWellKnownClientType Methode registrieren. Durch Aufrufen der RegisterWellKnownClientType Methode erhält die Remotinginfrastruktur den Standort des Remoteobjekts, wodurch das new Schlüsselwort erstellt werden kann. Wenn Sie andererseits die Activator.GetObject Methode verwenden, um das bekannte Objekt zu aktivieren, müssen Sie es als Argument angeben, sodass keine vorherige Registrierung am Clientende erforderlich ist.
Weitere Informationen
Gilt für:
RegisterWellKnownClientType(Type, String)
Registriert ein Objekt Type am Clientende als bekannter Typ, der auf dem Server aktiviert werden kann, wobei die angegebenen Parameter zum Initialisieren einer neuen Instanz der WellKnownClientTypeEntry Klasse verwendet werden können.
public:
static void RegisterWellKnownClientType(Type ^ type, System::String ^ objectUrl);
public static void RegisterWellKnownClientType(Type type, string objectUrl);
static member RegisterWellKnownClientType : Type * string -> unit
Public Shared Sub RegisterWellKnownClientType (type As Type, objectUrl As String)
Parameter
- objectUrl
- String
URL eines bekannten Clientobjekts.
Ausnahmen
Mindestens einer der Anrufer im Callstack verfügt nicht über die Berechtigung zum Konfigurieren von Remotingtypen und Kanälen.
Beispiele
Im folgenden Codebeispiel wird die Registrierung eines Objekttyps auf dem Clientende als bekannter Typ veranschaulicht. Den Servercode, der dem dargestellten Clientcode entspricht, finden Sie im Beispiel für die RegisterWellKnownServiceType Methode.
#using <system.dll>
#using <system.runtime.remoting.dll>
#using "service.dll"
using namespace System;
using namespace System::Runtime::Remoting;
using namespace System::Runtime::Remoting::Channels::Tcp;
using namespace System::Runtime::Remoting::Channels;
int main()
{
using System;
using System.Runtime.Remoting;
using System.Runtime.Remoting.Channels.Tcp;
using System.Runtime.Remoting.Channels;
public class ClientClass {
public static void Main() {
Imports System.Runtime.Remoting
Imports System.Runtime.Remoting.Channels.Tcp
Imports System.Runtime.Remoting.Channels
Public Class ClientClass
Public Shared Sub Main()
ChannelServices::RegisterChannel( gcnew TcpChannel );
RemotingConfiguration::RegisterWellKnownClientType( HelloService::typeid,
"tcp://localhost:8082/HelloServiceApplication/MyUri" );
HelloService ^ service = gcnew HelloService;
ChannelServices.RegisterChannel(new TcpChannel());
RemotingConfiguration.RegisterWellKnownClientType(
typeof(HelloService),
"tcp://localhost:8082/HelloServiceApplication/MyUri"
);
HelloService service = new HelloService();
ChannelServices.RegisterChannel(New TcpChannel())
RemotingConfiguration.RegisterWellKnownClientType(GetType(HelloService), "tcp://localhost:8082/HelloServiceApplication/MyUri")
Dim service As New HelloService()
if ( service == nullptr )
{
Console::WriteLine( "Could not locate server." );
return -1;
}
// Calls the remote method.
Console::WriteLine();
Console::WriteLine( "Calling remote Object*" );
Console::WriteLine( service->HelloMethod( "Caveman" ) );
Console::WriteLine( service->HelloMethod( "Spaceman" ) );
Console::WriteLine( service->HelloMethod( "Client Man" ) );
Console::WriteLine( "Finished remote Object* call" );
Console::WriteLine();
return 0;
}
if(service == null) {
Console.WriteLine("Could not locate server.");
return;
}
// Calls the remote method.
Console.WriteLine();
Console.WriteLine("Calling remote object");
Console.WriteLine(service.HelloMethod("Caveman"));
Console.WriteLine(service.HelloMethod("Spaceman"));
Console.WriteLine(service.HelloMethod("Client Man"));
Console.WriteLine("Finished remote object call");
Console.WriteLine();
}
}
If service Is Nothing Then
Console.WriteLine("Could not locate server.")
Return
End If
' Calls the remote method.
Console.WriteLine()
Console.WriteLine("Calling remote object")
Console.WriteLine(service.HelloMethod("Caveman"))
Console.WriteLine(service.HelloMethod("Spaceman"))
Console.WriteLine(service.HelloMethod("Client Man"))
Console.WriteLine("Finished remote object call")
Console.WriteLine()
End Sub
End Class
Hinweise
Jeder Client, der den URI eines registrierten bekannten Objekts kennt, kann einen Proxy für das Objekt abrufen, indem er den gewünschten ChannelServicesKanal registriert und das Objekt durch Aufrufen new oder Activator.GetObjectAktivieren des Objekts aktiviert. Um ein bekanntes Objekt mit newzu aktivieren, müssen Sie zuerst den bekannten Objekttyp auf dem Client mithilfe der RegisterWellKnownClientType Methode registrieren. Durch Aufrufen der RegisterWellKnownClientType Methode erhält die Remotinginfrastruktur den Standort des Remoteobjekts, wodurch das new Schlüsselwort erstellt werden kann. Wenn Sie andererseits die Activator.GetObject Methode verwenden, um das bekannte Objekt zu aktivieren, müssen Sie es als Argument angeben, sodass keine vorherige Registrierung am Clientende erforderlich ist.