다음을 통해 공유


RemotingConfiguration.RegisterWellKnownClientType 메서드

정의

개체 Type을 잘 알려진 형식(SingleCall 또는 Singleton)으로 클라이언트 쪽에 등록합니다.

오버로드

RegisterWellKnownClientType(WellKnownClientTypeEntry)

제공된 Type에 기록된 개체 WellKnownClientTypeEntry을 서버에서 활성화될 수 있는 잘 알려진 형식으로 클라이언트 쪽에 등록합니다.

RegisterWellKnownClientType(Type, String)

지정된 매개 변수로 Type 클래스의 새 인스턴스를 초기화하여 개체 WellKnownClientTypeEntry을 서버에서 활성화될 수 있는 잘 알려진 형식으로 클라이언트 쪽에 등록합니다.

RegisterWellKnownClientType(WellKnownClientTypeEntry)

제공된 Type에 기록된 개체 WellKnownClientTypeEntry을 서버에서 활성화될 수 있는 잘 알려진 형식으로 클라이언트 쪽에 등록합니다.

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)

매개 변수

entry
WellKnownClientTypeEntry

잘 알려진 형식에 대한 구성 설정입니다.

예외

호출 스택의 상위 호출자 중 하나 이상에게 원격 형식 및 채널을 구성하기 위한 권한이 없는 경우

설명

등록된 잘 알려진 개체의 URI를 알고 있는 모든 클라이언트는 에 선호하는 ChannelServices채널을 등록하고 또는 Activator.GetObject를 호출 new 하여 개체를 활성화하여 개체에 대한 프록시를 가져올 수 있습니다. 를 사용하여 잘 알려진 개체를 new활성화하려면 먼저 메서드를 사용하여 클라이언트에 잘 알려진 개체 형식을 RegisterWellKnownClientType 등록해야 합니다. 메서드를 RegisterWellKnownClientType 호출하면 원격 인프라에 원격 개체의 위치가 제공되므로 키워드가 new 만들 수 있습니다. 반면에 메서드를 Activator.GetObject 사용하여 잘 알려진 개체를 활성화하는 경우 개체의 URL을 인수로 제공해야 하므로 클라이언트 끝에 사전 등록이 필요하지 않습니다.

잘 알려진 개체에 대한 자세한 설명은 서버 활성화를 참조하세요.

추가 정보

적용 대상

RegisterWellKnownClientType(Type, String)

지정된 매개 변수로 Type 클래스의 새 인스턴스를 초기화하여 개체 WellKnownClientTypeEntry을 서버에서 활성화될 수 있는 잘 알려진 형식으로 클라이언트 쪽에 등록합니다.

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)

매개 변수

type
Type

개체 Type입니다.

objectUrl
String

잘 알려진 클라이언트 개체의 URL입니다.

예외

호출 스택의 상위 호출자 중 하나 이상에게 원격 형식 및 채널을 구성하기 위한 권한이 없는 경우

예제

다음 코드 예제에서는 클라이언트 끝에서 개체 형식을 잘 알려진 형식으로 등록하는 방법을 보여 줍니다. 제공된 클라이언트 코드에 해당하는 서버 코드는 메서드의 예제를 RegisterWellKnownServiceType 참조하세요.

#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

설명

등록된 잘 알려진 개체의 URI를 알고 있는 모든 클라이언트는 에 선호하는 ChannelServices채널을 등록하고 또는 Activator.GetObject를 호출 new 하여 개체를 활성화하여 개체에 대한 프록시를 가져올 수 있습니다. 를 사용하여 잘 알려진 개체를 new활성화하려면 먼저 메서드를 사용하여 클라이언트에 잘 알려진 개체 형식을 RegisterWellKnownClientType 등록해야 합니다. 메서드를 RegisterWellKnownClientType 호출하면 원격 인프라에 원격 개체의 위치가 제공되므로 키워드가 new 만들 수 있습니다. 반면에 메서드를 Activator.GetObject 사용하여 잘 알려진 개체를 활성화하는 경우 개체의 URL을 인수로 제공해야 하므로 클라이언트 끝에 사전 등록이 필요하지 않습니다.

잘 알려진 개체에 대한 자세한 설명은 서버 활성화를 참조하세요.

추가 정보

적용 대상