WellKnownClientTypeEntry Kelas
Definisi
Penting
Beberapa informasi terkait produk prarilis yang dapat diubah secara signifikan sebelum dirilis. Microsoft tidak memberikan jaminan, tersirat maupun tersurat, sehubungan dengan informasi yang diberikan di sini.
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
- 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 . |