Bagikan melalui


RemotingConfiguration.RegisterWellKnownClientType Metode

Definisi

Mendaftarkan objek Type di ujung klien sebagai jenis terkenal (panggilan tunggal atau singleton).

Overload

RegisterWellKnownClientType(WellKnownClientTypeEntry)

Mendaftarkan objek Type yang dicatat dalam yang disediakan WellKnownClientTypeEntry di ujung klien sebagai jenis terkenal yang dapat diaktifkan di server.

RegisterWellKnownClientType(Type, String)

Mendaftarkan objek Type di ujung klien sebagai jenis terkenal yang dapat diaktifkan di server, menggunakan parameter yang diberikan untuk menginisialisasi instans WellKnownClientTypeEntry baru kelas.

RegisterWellKnownClientType(WellKnownClientTypeEntry)

Mendaftarkan objek Type yang dicatat dalam yang disediakan WellKnownClientTypeEntry di ujung klien sebagai jenis terkenal yang dapat diaktifkan di server.

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

Pengaturan konfigurasi untuk jenis terkenal.

Pengecualian

Setidaknya salah satu penelepon yang lebih tinggi di tumpukan panggilan tidak memiliki izin untuk mengonfigurasi jenis dan saluran jarak jauh.

Keterangan

Setiap klien yang mengetahui URI objek terkenal terdaftar dapat memperoleh proksi untuk objek dengan mendaftarkan saluran yang lebih disukainya dengan ChannelServices, dan mengaktifkan objek dengan memanggil new atau Activator.GetObject. Untuk mengaktifkan objek terkenal dengan new, Anda harus terlebih dahulu mendaftarkan jenis objek terkenal pada klien menggunakan RegisterWellKnownClientType metode . Memanggil RegisterWellKnownClientType metode memberi infrastruktur jarak jauh lokasi objek jarak jauh, yang memungkinkan new kata kunci untuk membuatnya. Jika, di sisi lain, Anda menggunakan Activator.GetObject metode untuk mengaktifkan objek terkenal, Anda harus menyediakannya dengan URL objek sebagai argumen, jadi tidak ada pendaftaran sebelumnya pada akhir klien yang diperlukan.

Untuk deskripsi terperinci tentang objek terkenal, lihat Aktivasi Server.

Lihat juga

Berlaku untuk

RegisterWellKnownClientType(Type, String)

Mendaftarkan objek Type di ujung klien sebagai jenis terkenal yang dapat diaktifkan di server, menggunakan parameter yang diberikan untuk menginisialisasi instans WellKnownClientTypeEntry baru kelas.

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

type
Type

Objek Type.

objectUrl
String

URL objek klien terkenal.

Pengecualian

Setidaknya salah satu penelepon yang lebih tinggi di tumpukan panggilan tidak memiliki izin untuk mengonfigurasi jenis dan saluran jarak jauh.

Contoh

Contoh kode berikut menunjukkan pendaftaran jenis objek di ujung klien sebagai jenis terkenal. Untuk kode server yang sesuai dengan kode klien yang disajikan, lihat contoh untuk metode .RegisterWellKnownServiceType

#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

Keterangan

Setiap klien yang mengetahui URI objek terkenal terdaftar dapat memperoleh proksi untuk objek dengan mendaftarkan saluran yang lebih disukainya dengan ChannelServices, dan mengaktifkan objek dengan memanggil new atau Activator.GetObject. Untuk mengaktifkan objek terkenal dengan new, Anda harus terlebih dahulu mendaftarkan jenis objek terkenal pada klien menggunakan RegisterWellKnownClientType metode . Memanggil RegisterWellKnownClientType metode memberi infrastruktur jarak jauh lokasi objek jarak jauh, yang memungkinkan new kata kunci untuk membuatnya. Jika, di sisi lain, Anda menggunakan Activator.GetObject metode untuk mengaktifkan objek terkenal, Anda harus menyediakannya dengan URL objek sebagai argumen, jadi tidak ada pendaftaran sebelumnya pada akhir klien yang diperlukan.

Untuk deskripsi terperinci tentang objek terkenal, lihat Aktivasi Server.

Lihat juga

Berlaku untuk