Udostępnij za pośrednictwem


RemotingConfiguration.RegisterWellKnownClientType Metoda

Definicja

Rejestruje obiekt Type na końcu klienta jako dobrze znany typ (pojedyncze wywołanie lub pojedynczy).

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 dla 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 komunikacji telefonicznej i kanałów.

Uwagi

Każdy klient, który zna identyfikator URI zarejestrowanego dobrze znanego obiektu, może uzyskać serwer proxy dla obiektu, rejestrując kanał preferowany ChannelServicesza pomocą polecenia , i uaktywniając obiekt przez wywołanie lub newActivator.GetObject. Aby aktywować dobrze znany obiekt za newpomocą polecenia , należy najpierw zarejestrować dobrze znany typ obiektu na kliencie RegisterWellKnownClientType przy użyciu metody . RegisterWellKnownClientType Wywołanie metody zapewnia infrastrukturę komunikacji zdalnej lokalizację obiektu zdalnego, co pozwala na new utworzenie go przez słowo kluczowe. Jeśli z drugiej strony użyjesz Activator.GetObject metody , aby aktywować dobrze znany obiekt, musisz podać go z adresem URL obiektu jako argumentem, 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

type
Type

Obiekt Type.

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 komunikacji telefonicznej i kanałów.

Przykłady

Poniższy przykład kodu pokazuje rejestrację typu obiektu na końcu klienta jako dobrze znany typ. Aby uzyskać kod serwera odpowiadający przedstawionemu 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 kanał preferowany ChannelServicesza pomocą polecenia , i uaktywniając obiekt przez wywołanie lub newActivator.GetObject. Aby aktywować dobrze znany obiekt za newpomocą polecenia , należy najpierw zarejestrować dobrze znany typ obiektu na kliencie RegisterWellKnownClientType przy użyciu metody . RegisterWellKnownClientType Wywołanie metody zapewnia infrastrukturę komunikacji zdalnej lokalizację obiektu zdalnego, co pozwala na new utworzenie go przez słowo kluczowe. Jeśli z drugiej strony użyjesz Activator.GetObject metody , aby aktywować dobrze znany obiekt, musisz podać go z adresem URL obiektu jako argumentem, 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