【发布时间】:2011-08-15 15:42:18
【问题描述】:
我正在将客户端/服务器应用程序移植到 .NET。服务器的当前 C 版本有一个用于侦听套接字连接的进程(Windows 服务)的可执行文件。当侦听器接受套接字连接时,它会生成一个新进程来处理该连接。处理程序应用程序是一个单独的可执行文件。
在此应用程序的 .NET 版本中,我想要一个可执行文件/进程。侦听器应该为每个连接创建一个新的 AppDomain(以隔离分配给每个客户端的“工作进程”)。我应该如何将套接字从侦听器应用程序域传递到工作应用程序域?
谢谢!
【问题讨论】:
-
根据隔离,您可能能够在各自的域上使用 GetData 和 SetData,但您可能必须跨域编组对象。你有没有尝试过?
-
我想我刚刚找到了自己问题的答案。即使我没有将套接字传递给单独的进程,也可以使用 DuplicateAndClose 方法。侦听器可以只传入它自己的进程 ID。 link
-
酷,希望它能正常工作;如果是,那么您应该回答您自己的问题并接受它。