Bagikan melalui


RemotingServices.IsTransparentProxy(Object) Metode

Definisi

Mengembalikan nilai Boolean yang menunjukkan apakah objek yang diberikan adalah proksi transparan atau objek nyata.

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

Parameter

proxy
Object

Referensi ke objek untuk diperiksa.

Mengembalikan

Nilai Boolean yang menunjukkan apakah objek yang ditentukan dalam proxy parameter adalah proksi transparan atau objek nyata.

Contoh

Contoh kode berikut menunjukkan penggunaan IsTransparentProxy metode untuk menentukan apakah objek adalah proksi atau objek nyata. Untuk contoh kode lengkap, lihat contoh untuk AsyncResult kelas .

// 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

Keterangan

Klien yang menggunakan objek di seluruh jenis batas jarak jauh sebenarnya menggunakan proksi transparan untuk objek tersebut. Proksi transparan memberikan kesan bahwa objek aktual berada di ruang klien. Ini mencapai ini dengan meneruskan panggilan yang dilakukan di atasnya ke objek nyata menggunakan infrastruktur jarak jauh.

Proksi transparan itu sendiri ditempatkan oleh instans kelas runtime terkelola jenis RealProxy. mengimplementasikan RealProxy bagian dari fungsionalitas yang diperlukan untuk meneruskan operasi dari proksi transparan. Objek proksi mewarisi semantik terkait dari objek terkelola seperti pengumpulan sampah, dukungan untuk anggota dan metode, dan dapat diperluas untuk membentuk kelas baru. Dengan demikian proksi memiliki sifat ganda; di satu sisi perlu bertindak sebagai objek dari kelas yang sama dengan objek jarak jauh (proksi transparan), dan di sisi lain itu adalah objek terkelola itu sendiri.

Objek proksi dapat digunakan tanpa memperhatikan subdivisi jarak jauh dalam AppDomain. Aplikasi tidak perlu membedakan antara referensi proksi dan referensi objek. Namun, penyedia layanan yang berurusan dengan masalah seperti aktivasi, manajemen seumur hidup, dan transaksi perlu membuat perbedaan tersebut.

Berlaku untuk

Lihat juga