2011-08-15 18 views
5

Bir istemci/sunucu uygulamasının .NET'e aktarılması üzerinde çalışıyorum. Sunucunun geçerli C sürümünde, soket bağlantılarını dinleyen bir işlem için (bir Windows servisi) bir yürütülebilir sürümü vardır. Dinleyici bir soket bağlantısını kabul ettiğinde, bu bağlantıyı ele almak için yeni bir süreç ortaya çıkar. İşleyici uygulaması ayrı bir yürütülebilir.Yeni AppDomain'e bir soket geçiriliyor

Bu uygulamanın .NET sürümünde, bir yürütülebilir/işlem olmak istiyorum. Dinleyici her bağlantı için yeni bir Uygulama Alanı oluşturmalıdır (her bir istemciye atanan "çalışan süreci" yalıtmak için). Soketi dinleyici uygulama alanından işçi uygulama alan adına nasıl iletmeliyim?

Teşekkürler!

+0

İzolasyona bağlı olarak, ilgili etki alanlarındaki GetData ve SetData'ları kullanabilirsiniz, ancak nesnelerin karşısındaki Mareşal'i kullanmanız gerekebilir. Henüz bir şey denedin mi? –

+0

Sanırım kendi sorumu bulduğum cevabı buldum. Soketi ayrı bir işleme geçirmese de DuplicateAndClose yöntemi kullanılabilir. Dinleyici kendi işlem kimliğini sadece geçebilir. [bağlantı] (http://blogs.msdn.com/b/malarch/archive/2005/12/14/503884.aspx) –

+0

Serin, umarım düzgün çalışır; Eğer yaparsa, kendi sorunuzu cevaplamalısınız ve kabul etmelisiniz. –

cevap

4

Sanırım kendi sorumu bulduğum cevabı buldum. Soketi ayrı bir işleme geçirmese de DuplicateAndClose yöntemi kullanılabilir. Dinleyici, kendi işlem kimliğini DuplicateAndClose'a geçirebilir.

çözüm burada tarif edilir: Eğer ayrı bir süreç kapalı soket geçirmek istiyorsanız http://blogs.msdn.com/b/malarch/archive/2005/12/14/503884.aspx

Bu aynı zamanda çalışır.

İlgili konular