MarshalByRefObject'in amacı nedir?
MarshalByRefObject'in amacı nedir?
Yanıtlar:
Uzaklaştırma; Bu, AppDomains veya makineler arasında nesneyi serileştirmek ve aktarmak yerine nesnenin bir uçta kaldığı ve diğerinde bir proxy oluşturulduğu anlamına gelir. Proxy'ye yapılan tüm yöntem çağrıları engellenir ve çağrı , yöntemin diğer makinede yürütülmesine neden olarak RPC wiki , msdn olarak iletilir (tipik olarak bağımsız değişkenleri ve dönüş değerini serileştirir).
Not: Bu, beklenmedik şekilde "konuşkan" arayüzlere yol açabilir. Nesne / proxy / RPC yaklaşımı, artık açık bir hizmet sınırı olan yaklaşımlara göre daha az tercih edilmektedir ; Microsoft artık remoting yerine WCF wiki , msdn'yi önermektedir .
Bir diğer önemli kullanım, MarshalByRefObjectAOP'nin havuz zincirlerinin uzaklaşması yoluyla uygulanmasıdır.
ContextBoundObjectKendisinden türetilen (kendisinden türetilen MarshalByRefObject) bir nesneniz varsa, onu aynı AppDomain içinde ayrı bir Bağlamda başlatabilir ve nesneler arasındaki iletişimin otomatik olarak Uzak proxy sisteminden geçmesini sağlayarak özel havuzları Uzak havuza takmanıza olanak tanır. Zincir.
Bu, sonuçta, nesnelerinize yönelik yöntem çağrılarını 'dekore etmenize' ve günlük kaydı ve güvenlik vb.
Temel kullanım, iki uygulama alanı arasındaki nesnelere erişimi desteklemek içindir ve bu uygulama alanları aynı bilgisayarda veya uzaktan erişim yoluyla farklı bilgisayarlarda olabilir.
Çağıran uygulamanın uygulama etki alanı dışındaki herhangi bir nesne Uzak Nesne olarak düşünülmelidir. Sınıftan türetilmesi gereken bir Uzak Nesne MarshalByRefObject. Herhangi bir nesne türetilerek Uzak Nesneye dönüştürülebilir MarshalByRefObject. Devralan olmadan Nesneleri MarshalByRefObjectdenir Olmayan Kumandalı nesneler.