共用方式為


RemotingServices.IsTransparentProxy(Object) 方法

定義

傳回布林值,指出指定的物件是透明 Proxy 或實際物件。

public:
 static bool IsTransparentProxy(System::Object ^ proxy);
public static bool IsTransparentProxy (object proxy);
static member IsTransparentProxy : obj -> bool
Public Shared Function IsTransparentProxy (proxy As Object) As Boolean

參數

proxy
Object

要檢查物件的參考。

傳回

布林值,指出 proxy 參數中指定的物件是透明 Proxy 或實際物件。

範例

下列程式代碼範例示範如何使用 IsTransparentProxy 方法來判斷物件是否為 Proxy 或實際物件。 如需完整的範例程式代碼,請參閱 類別的 AsyncResult 範例。

// Creates an instance of a context-bound type SampleSynchronized.
SampleSynchronized^ sampSyncObj = gcnew SampleSynchronized;

// 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.
SampleSynchronized sampSyncObj = new SampleSynchronized();

// 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.
Dim sampSyncObj As New SampleSynchronized()

' 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

備註

在任何類型的遠端界限上使用 物件的客戶端,實際上是使用物件的透明 Proxy。 透明 Proxy 提供實際對象位於客戶端空間中的印象。 其可藉由使用遠端基礎結構將呼叫轉送至實際對象來達成此目的。

透明 Proxy 本身是由 型 RealProxy別的 Managed 運行時間類別實例所儲存。 會 RealProxy 實作從透明 Proxy 轉送作業所需的一部分功能。 Proxy 物件會繼承 Managed 物件的相關聯語意,例如垃圾收集、成員和方法的支援,並可擴充以形成新的類別。 因此,Proxy 具有雙重本質;一方面,它必須做為與遠端物件相同的類別物件, (透明 Proxy) ,另一方面則是受控物件本身。

您可以使用 Proxy 物件,而不需考慮 內 AppDomain的任何遠端細分。 應用程式不需要區分 Proxy 參考和對象參考。 不過,處理啟用、存留期管理和交易等問題的服務提供者必須做出這類區別。

適用於

另請參閱