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 singleton).
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 singleton. 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 metode .RegisterWellKnownClientType 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, sehingga tidak ada pendaftaran sebelumnya pada klien yang diperlukan.
Konstruktor
| Nama | Deskripsi |
|---|---|
| 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
| Nama | Deskripsi |
|---|---|
| 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 jenis klien yang diaktifkan server. |
| ObjectUrl |
Mendapatkan URL objek klien yang diaktifkan server. |
| TypeName |
Mendapatkan nama jenis lengkap dari jenis objek yang dikonfigurasi untuk menjadi jenis yang diaktifkan dari jarak jauh. (Diperoleh dari TypeEntry) |
Metode
| Nama | Deskripsi |
|---|---|
| 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 Type instans saat ini. (Diperoleh dari Object) |
| MemberwiseClone() |
Membuat salinan dangkal dari Objectsaat ini. (Diperoleh dari Object) |
| ToString() |
Mengembalikan nama jenis lengkap, nama rakitan, dan URL objek dari jenis klien yang Stringdiaktifkan server sebagai . |