RemotingConfiguration.RegisterActivatedClientType Metode
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.
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
- 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.