RemotingServices.IsTransparentProxy(Object) Yöntem
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
Verilen nesnenin saydam bir proxy mi yoksa gerçek bir nesne mi olduğunu gösteren bir Boole değeri döndürür.
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
Parametreler
- proxy
- Object
Denetlenecek nesneye başvuru.
Döndürülenler
Parametrede proxy
belirtilen nesnenin saydam bir proxy mi yoksa gerçek bir nesne mi olduğunu gösteren boole değeri.
Örnekler
Aşağıdaki kod örneği, bir nesnenin IsTransparentProxy ara sunucu mu yoksa gerçek nesne mi olduğunu belirlemek için yönteminin kullanımını gösterir. Örnek kodun tamamı için sınıfın örneğine AsyncResult bakın.
// 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
Açıklamalar
Herhangi bir uzaktan iletişim sınırında nesne kullanan bir istemci aslında nesne için saydam bir ara sunucu kullanır. Saydam proxy, gerçek nesnenin istemcinin alanında yer aldığını gösterir. Uzaktan iletişim altyapısını kullanarak üzerinde yapılan çağrıları gerçek nesneye ileterek bunu elde eder.
Saydam ara sunucu, türündeki RealProxyyönetilen çalışma zamanı sınıfının bir örneği tarafından barındırılır. saydam RealProxy proxy'den işlemleri iletmek için gereken işlevselliğin bir bölümünü uygular. Proxy nesnesi, atık toplama, üyeler ve yöntemler için destek gibi yönetilen nesnelerin ilişkili semantiğini devralır ve yeni sınıflar oluşturmak için genişletilebilir. Bu nedenle ara sunucu çift doğaya sahiptir; bir yandan uzak nesne (saydam ara sunucu) ile aynı sınıfın nesnesi olarak davranması gerekirken, diğer yandan yönetilen nesnenin kendisidir.
Ara sunucu nesnesi, içindeki AppDomainuzaktan iletişim alt bölümlere bakılmaksızın kullanılabilir. Uygulamaların ara sunucu başvuruları ile nesne başvuruları arasında ayrım yapmanız gerekmez. Ancak etkinleştirme, yaşam süresi yönetimi ve işlemler gibi sorunlarla ilgilenen hizmet sağlayıcılarının bu tür ayrımlar yapması gerekir.