Bagikan melalui


WellKnownClientTypeEntry Kelas

Definisi

Menyimpan nilai untuk jenis objek yang terdaftar pada klien sebagai jenis yang diaktifkan server (panggilan tunggal atau database tunggal).

public ref class WellKnownClientTypeEntry : System::Runtime::Remoting::TypeEntry
public class WellKnownClientTypeEntry : System.Runtime.Remoting.TypeEntry
[System.Runtime.InteropServices.ComVisible(true)]
public class WellKnownClientTypeEntry : System.Runtime.Remoting.TypeEntry
type WellKnownClientTypeEntry = class
    inherit TypeEntry
[<System.Runtime.InteropServices.ComVisible(true)>]
type WellKnownClientTypeEntry = class
    inherit TypeEntry
Public Class WellKnownClientTypeEntry
Inherits TypeEntry
Warisan
WellKnownClientTypeEntry
Atribut

Contoh

#using <System.Runtime.Remoting.dll>
#using <System.dll>
#using <WellKnownClientTypeEntry_Share.dll>

using namespace System;
using namespace System::Runtime::Remoting;
using namespace System::Runtime::Remoting::Channels;
using namespace System::Runtime::Remoting::Channels::Http;

int main()
{
   // Create a 'HttpChannel' object and  register with channel services.
   ChannelServices::RegisterChannel( gcnew HttpChannel );
   Console::WriteLine( " Start calling from Client One......." );
   WellKnownClientTypeEntry^ myWellKnownClientTypeEntry = gcnew WellKnownClientTypeEntry( HelloServer::typeid,"http://localhost:8086/SayHello" );
   myWellKnownClientTypeEntry->ApplicationUrl = "http://localhost:8086/SayHello";
   RemotingConfiguration::RegisterWellKnownClientType( myWellKnownClientTypeEntry );

   // Get the proxy object for the remote object.
   HelloServer^ myHelloServerObject = gcnew HelloServer;

   // Retrieve an array of object types registered on the 
   // client end as well-known types.
   array<WellKnownClientTypeEntry^>^myWellKnownClientTypeEntryCollection = RemotingConfiguration::GetRegisteredWellKnownClientTypes();
   Console::WriteLine( "The Application Url to activate the Remote Object :{0}", myWellKnownClientTypeEntryCollection[ 0 ]->ApplicationUrl );
   Console::WriteLine( "The 'WellKnownClientTypeEntry' object :{0}", myWellKnownClientTypeEntryCollection[ 0 ] );

   // Make remote method calls.
   for ( int i = 0; i < 5; i++ )
      Console::WriteLine( myHelloServerObject->HelloMethod( " Client One" ) );
}
using System;
using System.Runtime.Remoting;
using System.Runtime.Remoting.Channels;
using System.Runtime.Remoting.Channels.Http;

public class MyClient 
{
   public static void Main()
   {
   // Create a 'HttpChannel' object and  register with channel services.
   ChannelServices.RegisterChannel(new HttpChannel());
   Console.WriteLine(" Start calling from Client One.......");
   WellKnownClientTypeEntry myWellKnownClientTypeEntry = 
                  new WellKnownClientTypeEntry(typeof(HelloServer),
                                  "http://localhost:8086/SayHello");
   myWellKnownClientTypeEntry.ApplicationUrl="http://localhost:8086/SayHello";
   RemotingConfiguration.RegisterWellKnownClientType(myWellKnownClientTypeEntry);
   // Get the proxy object for the remote object.
   HelloServer myHelloServerObject = new HelloServer();
   // Retrieve an array of object types registered on the 
   // client end as well-known types.
   WellKnownClientTypeEntry [] myWellKnownClientTypeEntryCollection = 
          RemotingConfiguration.GetRegisteredWellKnownClientTypes();
   Console.WriteLine("The Application Url to activate the Remote Object :"
        +myWellKnownClientTypeEntryCollection[0].ApplicationUrl);
   Console.WriteLine("The 'WellKnownClientTypeEntry' object :"
            +myWellKnownClientTypeEntryCollection[0].ToString());
   // Make remote method calls.
   for (int i = 0; i < 5; i++)
         Console.WriteLine(myHelloServerObject.HelloMethod(" Client One"));
   }
}
Imports System.Runtime.Remoting
Imports System.Runtime.Remoting.Channels
Imports System.Runtime.Remoting.Channels.Http

Public Class MyClient
   
   Public Shared Sub Main()
      ' Create a 'HttpChannel' object and  register with channel services.
      ChannelServices.RegisterChannel(New HttpChannel())
      Console.WriteLine(" Start calling from Client One.......")
      Dim myWellKnownClientTypeEntry As New WellKnownClientTypeEntry(GetType(HelloServer), _ 
                                                  "http://localhost:8086/SayHello")
      myWellKnownClientTypeEntry.ApplicationUrl = "http://localhost:8086/SayHello"
      RemotingConfiguration.RegisterWellKnownClientType(myWellKnownClientTypeEntry)
      ' Get the proxy object for the remote object.
      Dim myHelloServerObject As New HelloServer()
      ' Retrieve an array of object types registered on the 
      ' client end as well-known types.
      Dim myWellKnownClientTypeEntryCollection As WellKnownClientTypeEntry() = _ 
                                       RemotingConfiguration.GetRegisteredWellKnownClientTypes()
      Console.WriteLine("The Application Url to activate the Remote Object :" + _ 
                                           myWellKnownClientTypeEntryCollection(0).ApplicationUrl)
      Console.WriteLine("The 'WellKnownClientTypeEntry' object :" + _ 
                                              myWellKnownClientTypeEntryCollection(0).ToString())
      ' Make remote method calls.
      Dim i As Integer
      For i = 0 To 4
         Console.WriteLine(myHelloServerObject.HelloMethod(" Client One"))
      Next i
   End Sub
End Class

Keterangan

Jenis yang diaktifkan server dapat berupa panggilan tunggal atau database tunggal. Jika kelas terdaftar sebagai jenis panggilan tunggal, instans baru dibuat setiap kali panggilan dari klien tiba. Semua panggilan ke objek singleton ditangani oleh satu instans objek tersebut, kecuali objek tersebut telah dikumpulkan.

Setiap klien yang mengetahui URI objek yang diaktifkan server terdaftar dapat memperoleh proksi untuk objek ini dengan mendaftarkan saluran yang lebih disukainya dan mengaktifkan objek dengan ChannelServices memanggil new atau Activator.GetObject. Untuk mengaktifkan objek yang diaktifkan server dengan new, Anda harus terlebih dahulu mendaftarkan jenis objek yang diaktifkan server pada klien menggunakan RegisterWellKnownClientType metode . Dengan memanggil RegisterWellKnownClientType, Anda memberikan 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 yang diaktifkan server, Anda harus menyediakannya dengan URL objek sebagai argumen, jadi tidak ada pendaftaran sebelumnya pada klien yang diperlukan.

Untuk deskripsi terperinci tentang objek yang diaktifkan server dan aktivasi objek jarak jauh, lihat Aktivasi Objek Jarak Jauh.

Konstruktor

WellKnownClientTypeEntry(String, String, String)

Menginisialisasi instans WellKnownClientTypeEntry baru kelas dengan jenis, nama rakitan, dan URL yang diberikan.

WellKnownClientTypeEntry(Type, String)

Menginisialisasi instans WellKnownClientTypeEntry baru kelas dengan jenis dan URL yang diberikan.

Properti

ApplicationUrl

Mendapatkan atau mengatur URL aplikasi untuk mengaktifkan jenis.

AssemblyName

Mendapatkan nama rakitan dari jenis objek yang dikonfigurasi menjadi jenis yang diaktifkan dari jarak jauh.

(Diperoleh dari TypeEntry)
ObjectType

Type Mendapatkan dari jenis klien yang diaktifkan server.

ObjectUrl

Mendapatkan URL objek klien yang diaktifkan server.

TypeName

Mendapatkan nama tipe lengkap dari tipe objek yang dikonfigurasi menjadi jenis yang diaktifkan dari jarak jauh.

(Diperoleh dari TypeEntry)

Metode

Equals(Object)

Menentukan apakah objek yang ditentukan sama dengan objek saat ini.

(Diperoleh dari Object)
GetHashCode()

Berfungsi sebagai fungsi hash default.

(Diperoleh dari Object)
GetType()

Mendapatkan dari instans Type saat ini.

(Diperoleh dari Object)
MemberwiseClone()

Membuat salinan dangkal dari saat ini Object.

(Diperoleh dari Object)
ToString()

Mengembalikan nama jenis lengkap, nama rakitan, dan URL objek dari jenis klien yang Stringdiaktifkan server sebagai .

Berlaku untuk

Lihat juga