2009-08-04 7 views

cevap

3

Temel olarak, sadece türünü oluşturmak için AppDomain.CreateInstanceAndUnwrap çağrı ardından yeni uygulama etki alanı oluşturmak ve:

Bu

bu önceki tartışma teğet olduğunu. İşte bu işlem hakkında basit bir CodeProject article.

Burada bazı numaralar var. Doğrudan Tür'e başvuramazsınız (bu, türü geçerli Uygulama Alanınıza yükler) ve nesnelerin tümü MarshallByRefObj'dan türetilmelidir. Bu, "uzaktan" nesnesini kullanmanıza olanak tanır, yani AppDomain'inize yüklenmesini engeller.

+0

+1 teşekkürler. AppDomains'i her geçtiğinizde performans cezası ne kadar kötü? – BuddyJoe

+1

Bu bağlıdır. Uygulama alanları arasında geçen her şey temel olarak serileştirilmiştir. (Remoting'e çok benzer bir şekilde çalışır.) Genel olarak, eğer tüm tipleriniz MarshallByRefObj'den gelirse, sadece bir "tutamaç" serisini serileştirir, bu yüzden oldukça hızlıdır. Verileri okuduğunuzda, veriler biraz serileştirilebilecek olsa da, serileştirilecek. İkinci appdomain'de daima "internal" tutmaya çalışın ve büyük olasılıkla bir sorun olmayacaktır. –

+0

Ayrıca uzaktan örnek yaşam süresi sınırlıdır. Net sürümüne bağlı olarak, remoting yerine WCF kullanmalısınız. – Guillaume