다음을 통해 공유


RemotingServices.IsTransparentProxy 메서드

지정된 개체가 투명 프록시 개체인지 또는 실제 개체인지를 나타내는 부울 값을 반환합니다.

네임스페이스: System.Runtime.Remoting
어셈블리: mscorlib(mscorlib.dll)

구문

‘선언
Public Shared Function IsTransparentProxy ( _
    proxy As Object _
) As Boolean
‘사용 방법
Dim proxy As Object
Dim returnValue As Boolean

returnValue = RemotingServices.IsTransparentProxy(proxy)
public static bool IsTransparentProxy (
    Object proxy
)
public:
static bool IsTransparentProxy (
    Object^ proxy
)
public static boolean IsTransparentProxy (
    Object proxy
)
public static function IsTransparentProxy (
    proxy : Object
) : boolean

매개 변수

  • proxy
    확인할 개체에 대한 참조입니다.

반환 값

proxy 매개 변수에 지정된 개체가 투명 프록시 개체인지 또는 실제 개체인지를 나타내는 부울 값입니다.

설명

모든 종류의 원격 경계에서 개체를 사용하는 클라이언트는 실제로 해당 개체의 투명 프록시를 사용하고 있는 것입니다. 투명 프록시로 인해 실제 개체가 클라이언트 공간에 있는 것처럼 보입니다. 이는 프록시가 자신에 대한 호출을 원격 인프라를 사용하여 실제 개체로 전달하기 때문에 가능합니다.

투명 프록시는 RealProxy 형식의 관리되는 런타임 클래스 인스턴스에 의해 자체 지원됩니다. RealProxy는 투명 프록시로부터 작업을 전달하는 데 필요한 기능 중 일부를 구현합니다. 프록시 개체는 가비지 수집 같은 관리되는 개체의 관련 의미 체계와 멤버 및 메서드에 대한 지원을 상속하며, 새 클래스를 만들기 위해 확장될 수 있습니다. 프록시는 원격 개체와 동일한 클래스의 개체 역할을 하며(투명 프록시), 관리되는 개체이기도 한 이중 속성을 지닙니다.

프록시 개체는 AppDomain 내의 원격 하위 영역에 관계없이 사용될 수 있습니다. 응용 프로그램에서는 프록시 참조와 개체 참조를 구별할 필요가 없지만 활성화, 수명 관리 및 트랜잭션 등을 처리하는 서비스 공급자는 두 참조의 차이를 알아야 합니다.

예제

다음 코드 예제에서는 IsTransparentProxy 메서드를 사용하여 개체가 프록시인지 또는 실제 개체인지를 확인하는 방법을 보여 줍니다. 전체 예제 코드를 보려면 AsyncResult 클래스의 예제를 참조하십시오.

' Creates an instance of a context-bound type SampleSynchronized.
Dim sampSyncObj As New SampleSyncronized()

' Checks whether the object is a proxy, since it is context-bound.
If RemotingServices.IsTransparentProxy(sampSyncObj) Then
   Console.WriteLine("sampSyncObj is a proxy.")
Else
   Console.WriteLine("sampSyncObj is NOT a proxy.")
End If 
// Creates an instance of a context-bound type SampleSynchronized.
SampleSyncronized sampSyncObj = new SampleSyncronized();

// Checks whether the object is a proxy, since it is context-bound.
if (RemotingServices.IsTransparentProxy(sampSyncObj))
    Console.WriteLine("sampSyncObj is a proxy.");
else
    Console.WriteLine("sampSyncObj is NOT a proxy.");
// Creates an instance of a context-bound type SampleSynchronized.
SampleSyncronized^ sampSyncObj = gcnew SampleSyncronized;

// Checks whether the Object* is a proxy, since it is context-bound.
if ( RemotingServices::IsTransparentProxy( sampSyncObj ) )
   Console::WriteLine( "sampSyncObj is a proxy." );
else
   Console::WriteLine( "sampSyncObj is NOT a proxy." );

// Creates an instance of a context-bound type SampleSynchronized.
SampleSyncronized sampSyncObj = new SampleSyncronized();
// Checks whether the object is a proxy, since it is context-bound.
if (RemotingServices.IsTransparentProxy(sampSyncObj)) {
    Console.WriteLine("sampSyncObj is a proxy.");
}
else {
    Console.WriteLine("sampSyncObj is NOT a proxy.");
}

플랫폼

Windows 98, Windows 2000 SP4, Windows Millennium Edition, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition

.NET Framework에서 모든 플래폼의 모든 버전을 지원하지는 않습니다. 지원되는 버전의 목록은 시스템 요구 사항을 참조하십시오.

버전 정보

.NET Framework

2.0, 1.1, 1.0에서 지원

참고 항목

참조

RemotingServices 클래스
RemotingServices 멤버
System.Runtime.Remoting 네임스페이스
RealProxy
ObjRef 클래스