Bagikan melalui


RemotingConfiguration.RegisterActivatedClientType Metode

Definisi

Mendaftarkan objek Type pada akhir klien sebagai jenis yang dapat diaktifkan di server.

Overload

RegisterActivatedClientType(ActivatedClientTypeEntry)

Mendaftarkan objek Type yang direkam dalam yang disediakan ActivatedClientTypeEntry pada akhir klien sebagai jenis yang dapat diaktifkan di server.

RegisterActivatedClientType(Type, String)

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

RegisterActivatedClientType(ActivatedClientTypeEntry)

Mendaftarkan objek Type yang direkam dalam yang disediakan ActivatedClientTypeEntry pada akhir klien sebagai jenis yang dapat diaktifkan di server.

public:
 static void RegisterActivatedClientType(System::Runtime::Remoting::ActivatedClientTypeEntry ^ entry);
public static void RegisterActivatedClientType (System.Runtime.Remoting.ActivatedClientTypeEntry entry);
static member RegisterActivatedClientType : System.Runtime.Remoting.ActivatedClientTypeEntry -> unit
Public Shared Sub RegisterActivatedClientType (entry As ActivatedClientTypeEntry)

Parameter

entry
ActivatedClientTypeEntry

Pengaturan konfigurasi untuk jenis yang diaktifkan klien.

Pengecualian

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

Keterangan

Untuk membuat instans objek yang diaktifkan klien di server, Anda harus mengetahuinya Type dan harus didaftarkan di akhir server dengan menggunakan RegisterActivatedServiceType metode . Untuk mendapatkan proksi untuk instans baru objek yang diaktifkan klien, klien harus terlebih dahulu mendaftarkan saluran ChannelServices dan kemudian mengaktifkan objek dengan memanggil new.

Untuk mengaktifkan jenis objek yang diaktifkan klien dengan new kata kunci, Anda harus terlebih dahulu mendaftarkan jenis objek di akhir klien menggunakan RegisterActivatedClientType metode . Memanggil RegisterActivatedClientType metode memberi infrastruktur jarak jauh lokasi aplikasi jarak jauh di mana new mencoba membuatnya. Jika, di sisi lain, Anda menggunakan Activator.CreateInstance metode untuk membuat instans baru objek yang diaktifkan klien, Anda harus menyediakan URL aplikasi jarak jauh sebagai parameter, jadi tidak ada pendaftaran sebelumnya di akhir klien yang diperlukan. Untuk menyediakan Activator.CreateInstance metode dengan URL server tempat Anda ingin membuat objek, Anda harus merangkum URL dalam instans UrlAttribute kelas .

Untuk deskripsi terperinci tentang objek yang diaktifkan klien, lihat Aktivasi Klien.

Lihat juga

Berlaku untuk

RegisterActivatedClientType(Type, String)

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

public:
 static void RegisterActivatedClientType(Type ^ type, System::String ^ appUrl);
public static void RegisterActivatedClientType (Type type, string appUrl);
static member RegisterActivatedClientType : Type * string -> unit
Public Shared Sub RegisterActivatedClientType (type As Type, appUrl As String)

Parameter

type
Type

Objek Type.

appUrl
String

URL aplikasi tempat jenis ini diaktifkan.

Pengecualian

Parameter typeName atau URI adalah null.

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 pada akhir klien sebagai jenis yang dapat diaktifkan di server. Untuk kode server yang sesuai dengan kode klien yang disajikan, lihat contoh untuk metode .RegisterActivatedServiceType

#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;
using namespace System::Runtime::Remoting::Channels::Tcp;

int main()
{
   ChannelServices::RegisterChannel( gcnew TcpChannel );
   RemotingConfiguration::RegisterActivatedClientType( HelloServiceClass::typeid, "tcp://localhost:8082" );
   try
   {
      HelloServiceClass ^ service = gcnew HelloServiceClass;

      // 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" );
    }
    catch (Exception ex)
    {
        Console::WriteLine("An exception occurred: " + ex.Message);
    }
   Console::WriteLine();
   return 0;
}
using System;
using System.Runtime.Remoting;
using System.Runtime.Remoting.Channels;
using System.Runtime.Remoting.Channels.Tcp;

public class ClientClass {

    public static void Main() {

        ChannelServices.RegisterChannel(new TcpChannel());

        RemotingConfiguration.RegisterActivatedClientType(typeof(HelloServiceClass),
                                                   "tcp://localhost:8082");

        try
        {
            HelloServiceClass service = new HelloServiceClass();

           // 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();
        }
    catch (Exception ex)
    {
       Console.WriteLine("An exception occurred: " + ex.Message);
        }
    }
}
Imports System.Runtime.Remoting
Imports System.Runtime.Remoting.Channels
Imports System.Runtime.Remoting.Channels.Tcp


Public Class ClientClass
   
   Public Shared Sub Main()
      
      ChannelServices.RegisterChannel(New TcpChannel())
      
      RemotingConfiguration.RegisterActivatedClientType(GetType(HelloServiceClass), "tcp://localhost:8082")
      
      Try
          Dim service As New HelloServiceClass()
      
       
          ' 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")
      Catch ex as Exception
          Console.WriteLine("An exception occurred: " + ex.Message)
      End Try

      Console.WriteLine()

   End Sub

End Class

Keterangan

Untuk membuat instans objek yang diaktifkan klien di server, Anda harus mengetahuinya Type dan harus didaftarkan di akhir server dengan menggunakan RegisterActivatedServiceType metode . Untuk mendapatkan proksi untuk instans baru objek yang diaktifkan klien, klien harus terlebih dahulu mendaftarkan saluran ChannelServices dan kemudian mengaktifkan objek dengan memanggil new.

Untuk mengaktifkan jenis objek yang diaktifkan klien dengan new kata kunci, Anda harus terlebih dahulu mendaftarkan jenis objek di akhir klien menggunakan RegisterActivatedClientType metode . Memanggil RegisterActivatedClientType metode memberi infrastruktur jarak jauh lokasi aplikasi jarak jauh di mana new mencoba membuatnya. Jika, di sisi lain, Anda menggunakan Activator.CreateInstance metode untuk membuat instans baru objek yang diaktifkan klien, Anda harus menyediakan URL aplikasi jarak jauh sebagai parameter, jadi tidak ada pendaftaran sebelumnya di akhir klien yang diperlukan. Untuk menyediakan Activator.CreateInstance metode dengan URL server tempat Anda ingin membuat objek, Anda harus merangkum URL dalam instans UrlAttribute kelas .

Untuk deskripsi terperinci tentang objek yang diaktifkan klien, lihat Aktivasi Klien.

Lihat juga

Berlaku untuk