RemotingConfiguration.RegisterWellKnownClientType Yöntem

Tanım

İ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 newiyi 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

type
Type

nesnesi Type.

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 newiyi 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