RemotingConfiguration.RegisterWellKnownClientType Yöntem
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
İstemci ucundaki bir nesneyi Type iyi bilinen bir tür (tek çağrı veya tekil) olarak kaydeder.
Aşırı Yüklemeler
RegisterWellKnownClientType(WellKnownClientTypeEntry) |
İstemci ucunda sağlanan WellKnownClientTypeEntry öğesine kaydedilen bir nesneyiType, sunucuda etkinleştirilebilen iyi bilinen bir tür olarak kaydeder. |
RegisterWellKnownClientType(Type, String) |
İstemci ucundaki bir nesneyi Type , sınıfın yeni bir örneğini WellKnownClientTypeEntry başlatmak için verilen parametreleri kullanarak sunucuda etkinleştirilebilen iyi bilinen bir tür olarak kaydeder. |
RegisterWellKnownClientType(WellKnownClientTypeEntry)
İstemci ucunda sağlanan WellKnownClientTypeEntry öğesine kaydedilen bir nesneyiType, sunucuda etkinleştirilebilen iyi bilinen bir tür olarak kaydeder.
public:
static void RegisterWellKnownClientType(System::Runtime::Remoting::WellKnownClientTypeEntry ^ entry);
public static void RegisterWellKnownClientType (System.Runtime.Remoting.WellKnownClientTypeEntry entry);
static member RegisterWellKnownClientType : System.Runtime.Remoting.WellKnownClientTypeEntry -> unit
Public Shared Sub RegisterWellKnownClientType (entry As WellKnownClientTypeEntry)
Parametreler
- entry
- WellKnownClientTypeEntry
İyi bilinen tür için yapılandırma ayarları.
Özel durumlar
Çağrı yığınındaki en üstteki arayanlardan en az birinin uzaktan iletişim türlerini ve kanallarını yapılandırma izni yoktur.
Açıklamalar
Kayıtlı iyi bilinen bir nesnenin URI'sini bilen herhangi bir istemci, tercih ettiği ChannelServiceskanalı ile kaydederek ve veya Activator.GetObjectçağırarak new
nesneyi etkinleştirerek nesne için bir proxy alabilir. ile new
iyi bilinen bir nesneyi etkinleştirmek için, önce yöntemini kullanarak RegisterWellKnownClientType istemcide iyi bilinen nesne türünü kaydetmeniz gerekir. yöntemini çağırmak RegisterWellKnownClientType uzaktan iletişim altyapısına uzak nesnenin konumunu verir ve bu da anahtar sözcüğün bunu oluşturmasına new
olanak tanır. Öte yandan, iyi bilinen nesneyi etkinleştirmek için yöntemini kullanırsanız Activator.GetObject , nesnenin URL'sini bağımsız değişken olarak sağlamanız gerekir, bu nedenle istemci ucunda önceden kayıt yapılması gerekmez.
İyi bilinen nesnelerin ayrıntılı açıklaması için bkz. Sunucu Etkinleştirme.
Ayrıca bkz.
Şunlara uygulanır
RegisterWellKnownClientType(Type, String)
İstemci ucundaki bir nesneyi Type , sınıfın yeni bir örneğini WellKnownClientTypeEntry başlatmak için verilen parametreleri kullanarak sunucuda etkinleştirilebilen iyi bilinen bir tür olarak kaydeder.
public:
static void RegisterWellKnownClientType(Type ^ type, System::String ^ objectUrl);
public static void RegisterWellKnownClientType (Type type, string objectUrl);
static member RegisterWellKnownClientType : Type * string -> unit
Public Shared Sub RegisterWellKnownClientType (type As Type, objectUrl As String)
Parametreler
- objectUrl
- String
İyi bilinen bir istemci nesnesinin URL'si.
Özel durumlar
Çağrı yığınındaki en üstteki arayanlardan en az birinin uzaktan iletişim türlerini ve kanallarını yapılandırma izni yoktur.
Örnekler
Aşağıdaki kod örneği, istemci ucundaki bir nesne türünün iyi bilinen bir tür olarak kaydını gösterir. Sunulan istemci koduna karşılık gelen sunucu kodu için yöntem örneğine RegisterWellKnownServiceType bakın.
#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::Tcp;
using namespace System::Runtime::Remoting::Channels;
int main()
{
using System;
using System.Runtime.Remoting;
using System.Runtime.Remoting.Channels.Tcp;
using System.Runtime.Remoting.Channels;
public class ClientClass {
public static void Main() {
Imports System.Runtime.Remoting
Imports System.Runtime.Remoting.Channels.Tcp
Imports System.Runtime.Remoting.Channels
Public Class ClientClass
Public Shared Sub Main()
ChannelServices::RegisterChannel( gcnew TcpChannel );
RemotingConfiguration::RegisterWellKnownClientType( HelloService::typeid,
"tcp://localhost:8082/HelloServiceApplication/MyUri" );
HelloService ^ service = gcnew HelloService;
ChannelServices.RegisterChannel(new TcpChannel());
RemotingConfiguration.RegisterWellKnownClientType(
typeof(HelloService),
"tcp://localhost:8082/HelloServiceApplication/MyUri"
);
HelloService service = new HelloService();
ChannelServices.RegisterChannel(New TcpChannel())
RemotingConfiguration.RegisterWellKnownClientType(GetType(HelloService), "tcp://localhost:8082/HelloServiceApplication/MyUri")
Dim service As New HelloService()
if ( service == nullptr )
{
Console::WriteLine( "Could not locate server." );
return -1;
}
// 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();
return 0;
}
if(service == null) {
Console.WriteLine("Could not locate server.");
return;
}
// 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();
}
}
If service Is Nothing Then
Console.WriteLine("Could not locate server.")
Return
End If
' 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()
End Sub
End Class
Açıklamalar
Kayıtlı iyi bilinen bir nesnenin URI'sini bilen herhangi bir istemci, tercih ettiği ChannelServiceskanalı ile kaydederek ve veya Activator.GetObjectçağırarak new
nesneyi etkinleştirerek nesne için bir proxy alabilir. ile new
iyi bilinen bir nesneyi etkinleştirmek için, önce yöntemini kullanarak RegisterWellKnownClientType istemcide iyi bilinen nesne türünü kaydetmeniz gerekir. yöntemini çağırmak RegisterWellKnownClientType uzaktan iletişim altyapısına uzak nesnenin konumunu verir ve bu da anahtar sözcüğün bunu oluşturmasına new
olanak tanır. Öte yandan, iyi bilinen nesneyi etkinleştirmek için yöntemini kullanırsanız Activator.GetObject , nesnenin URL'sini bağımsız değişken olarak sağlamanız gerekir, bu nedenle istemci ucunda önceden kayıt yapılması gerekmez.
İyi bilinen nesnelerin ayrıntılı açıklaması için bkz. Sunucu Etkinleştirme.