다음을 통해 공유


RemotingConfiguration.RegisterActivatedClientType 메서드

정의

개체 Type을 서버에서 활성화될 수 있는 형식으로 클라이언트 쪽에 등록합니다.

오버로드

RegisterActivatedClientType(ActivatedClientTypeEntry)

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

RegisterActivatedClientType(Type, String)

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

RegisterActivatedClientType(ActivatedClientTypeEntry)

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

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)

매개 변수

entry
ActivatedClientTypeEntry

클라이언트 활성 형식에 대한 구성 설정입니다.

예외

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

설명

서버에서 클라이언트 활성화 개체의 인스턴스를 만들려면 해당 개체를 알고 Type 있어야 하며 메서드를 사용하여 RegisterActivatedServiceType 서버 끝에 등록해야 합니다. 클라이언트 활성화 개체의 새 인스턴스에 대한 프록시를 가져오려면 먼저 에 채널을 ChannelServices 등록한 다음 를 호출 new하여 개체를 활성화해야 합니다.

키워드를 사용하여 클라이언트 활성화 개체 형식을 new 활성화하려면 먼저 메서드를 사용하여 클라이언트 끝에 개체 형식을 RegisterActivatedClientType 등록해야 합니다. 호출 된 RegisterActivatedClientType 메서드는 원격 애플리케이션의 위치는 원격 인프라를 제공 여기서 new 를 만듭니다. 반면에 사용 하는 경우는 Activator.CreateInstance 클라이언트가 활성화 한 개체의 새 인스턴스를 만드는 메서드를 하므로 클라이언트 쪽에 없는 이전 등록이 필요한 원격 애플리케이션의 URL을 매개 변수로 제공 해야 합니다. 개체를 Activator.CreateInstance 만들려는 서버의 URL을 메서드에 제공하려면 클래스의 UrlAttribute 인스턴스에서 URL을 캡슐화해야 합니다.

클라이언트 활성화 개체에 대한 자세한 설명은 클라이언트 활성화를 참조하세요.

추가 정보

적용 대상

RegisterActivatedClientType(Type, String)

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

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)

매개 변수

type
Type

개체 Type입니다.

appUrl
String

이 형식이 활성화될 애플리케이션의 URL입니다.

예외

typeName 또는 URI 매개 변수가 null인 경우

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

예제

다음 코드 예제에서는 클라이언트 끝에서 개체 형식을 서버에서 활성화할 수 있는 형식으로 등록하는 방법을 보여 줍니다. 제공된 클라이언트 코드에 해당하는 서버 코드는 메서드의 예제를 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

설명

서버에서 클라이언트 활성화 개체의 인스턴스를 만들려면 해당 개체를 알고 Type 있어야 하며 메서드를 사용하여 RegisterActivatedServiceType 서버 끝에 등록해야 합니다. 클라이언트 활성화 개체의 새 인스턴스에 대한 프록시를 가져오려면 먼저 에 채널을 ChannelServices 등록한 다음 를 호출 new하여 개체를 활성화해야 합니다.

키워드를 사용하여 클라이언트 활성화 개체 형식을 new 활성화하려면 먼저 메서드를 사용하여 클라이언트 끝에 개체 형식을 RegisterActivatedClientType 등록해야 합니다. 호출 된 RegisterActivatedClientType 메서드는 원격 애플리케이션의 위치는 원격 인프라를 제공 여기서 new 를 만듭니다. 반면에 사용 하는 경우는 Activator.CreateInstance 클라이언트가 활성화 한 개체의 새 인스턴스를 만드는 메서드를 하므로 클라이언트 쪽에 없는 이전 등록이 필요한 원격 애플리케이션의 URL을 매개 변수로 제공 해야 합니다. 개체를 Activator.CreateInstance 만들려는 서버의 URL을 메서드에 제공하려면 클래스의 UrlAttribute 인스턴스에서 URL을 캡슐화해야 합니다.

클라이언트 활성화 개체에 대한 자세한 설명은 클라이언트 활성화를 참조하세요.

추가 정보

적용 대상