将套接字传递给新的AppDomain

时间:2011-08-15 15:42:18

标签: c# sockets appdomain

我正在努力将客户端/服务器应用程序移植到.NET。当前的C版本的服务器有一个可执行程序用于侦听套接字连接的进程(Windows服务)。当侦听器接受套接字连接时,它会生成一个新进程来处理该连接。处理程序应用程序是一个单独的可执行文件。

在这个应用程序的.NET版本中,我想要一个可执行文件/进程。监听器应为每个连接创建一个新的AppDomain(以隔离分配给每个客户端的“工作进程”)。我应该如何将套接字从侦听器应用程序域传递到工作者应用程序域?

谢谢!

1 个答案:

答案 0 :(得分:5)

我想我刚刚找到了自己问题的答案。即使我没有将套接字传递给单独的进程,也可以使用DuplicateAndClose方法。侦听器只需将自己的进程ID传递给DuplicateAndClose。

此处描述了解决方案: http://blogs.msdn.com/b/malarch/archive/2005/12/14/503884.aspx

如果您想将套接字传递给单独的进程,这也可以。