RemotingServices.IsTransparentProxy(Object) Metode
Definisi
Penting
Beberapa informasi terkait produk prarilis yang dapat diubah secara signifikan sebelum dirilis. Microsoft tidak memberikan jaminan, tersirat maupun tersurat, sehubungan dengan informasi yang diberikan di sini.
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.