RemotingConfiguration.RegisterWellKnownClientType Metoda
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Rejestruje obiekt Type na końcu klienta jako dobrze znany typ (pojedyncze wywołanie lub singleton).
Przeciążenia
RegisterWellKnownClientType(WellKnownClientTypeEntry) |
Rejestruje obiekt Type zarejestrowany w podanym WellKnownClientTypeEntry na końcu klienta jako dobrze znany typ, który można aktywować na serwerze. |
RegisterWellKnownClientType(Type, String) |
Rejestruje obiekt Type na końcu klienta jako dobrze znany typ, który można aktywować na serwerze, przy użyciu podanych parametrów w celu zainicjowania nowego wystąpienia WellKnownClientTypeEntry klasy. |
RegisterWellKnownClientType(WellKnownClientTypeEntry)
Rejestruje obiekt Type zarejestrowany w podanym WellKnownClientTypeEntry na końcu klienta jako dobrze znany typ, który można aktywować na serwerze.
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)
Parametry
- entry
- WellKnownClientTypeEntry
Ustawienia konfiguracji dobrze znanego typu.
Wyjątki
Co najmniej jeden z wywołujących wyżej w stosie wywołań nie ma uprawnień do konfigurowania typów i kanałów komunikacji telefonicznej.
Uwagi
Każdy klient, który zna identyfikator URI zarejestrowanego dobrze znanego obiektu, może uzyskać serwer proxy dla obiektu, rejestrując preferowany kanał ChannelServicesza pomocą polecenia i aktywując obiekt przez wywołanie new
metody lub Activator.GetObject. Aby aktywować dobrze znany obiekt new
za pomocą polecenia , należy najpierw zarejestrować dobrze znany typ obiektu na kliencie przy użyciu RegisterWellKnownClientType metody . RegisterWellKnownClientType Wywołanie metody daje infrastrukturze komunikacji zdalnej lokalizację obiektu zdalnego, dzięki czemu słowo kluczowe może new
go utworzyć. Jeśli z drugiej strony używasz Activator.GetObject metody do aktywowania dobrze znanego obiektu, musisz podać go przy użyciu adresu URL obiektu jako argumentu, więc nie jest konieczna wcześniejsza rejestracja na końcu klienta.
Aby uzyskać szczegółowy opis dobrze znanych obiektów, zobacz Aktywacja serwera.
Zobacz też
Dotyczy
RegisterWellKnownClientType(Type, String)
Rejestruje obiekt Type na końcu klienta jako dobrze znany typ, który można aktywować na serwerze, przy użyciu podanych parametrów w celu zainicjowania nowego wystąpienia WellKnownClientTypeEntry klasy.
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)
Parametry
- objectUrl
- String
Adres URL dobrze znanego obiektu klienta.
Wyjątki
Co najmniej jeden z wywołujących wyżej w stosie wywołań nie ma uprawnień do konfigurowania typów i kanałów komunikacji telefonicznej.
Przykłady
Poniższy przykład kodu przedstawia rejestrację typu obiektu na końcu klienta jako dobrze znanego typu. Aby uzyskać kod serwera odpowiadający prezentowanemu kodowi klienta, zobacz przykład RegisterWellKnownServiceType metody .
#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
Uwagi
Każdy klient, który zna identyfikator URI zarejestrowanego dobrze znanego obiektu, może uzyskać serwer proxy dla obiektu, rejestrując preferowany kanał ChannelServicesza pomocą polecenia i aktywując obiekt przez wywołanie new
metody lub Activator.GetObject. Aby aktywować dobrze znany obiekt new
za pomocą polecenia , należy najpierw zarejestrować dobrze znany typ obiektu na kliencie przy użyciu RegisterWellKnownClientType metody . RegisterWellKnownClientType Wywołanie metody daje infrastrukturze komunikacji zdalnej lokalizację obiektu zdalnego, dzięki czemu słowo kluczowe może new
go utworzyć. Jeśli z drugiej strony używasz Activator.GetObject metody do aktywowania dobrze znanego obiektu, musisz podać go przy użyciu adresu URL obiektu jako argumentu, więc nie jest konieczna wcześniejsza rejestracja na końcu klienta.
Aby uzyskać szczegółowy opis dobrze znanych obiektów, zobacz Aktywacja serwera.
Zobacz też
Dotyczy
Opinia
https://aka.ms/ContentUserFeedback.
Dostępne już wkrótce: W 2024 r. będziemy stopniowo wycofywać zgłoszenia z serwisu GitHub jako mechanizm przesyłania opinii na temat zawartości i zastępować go nowym systemem opinii. Aby uzyskać więcej informacji, sprawdź:Prześlij i wyświetl opinię dla