RemotingConfiguration.RegisterWellKnownClientType 메서드
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
개체 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)
매개 변수
- 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을 인수로 제공해야 하므로 클라이언트 끝에 사전 등록이 필요하지 않습니다.
잘 알려진 개체에 대한 자세한 설명은 서버 활성화를 참조하세요.
추가 정보
적용 대상
.NET