我正在构建一个 ASP.NET 服务(一个简单的 aspx),它需要对 ZeroMQ REP 节点进行 REQ 调用。
所以我必须使用 REQ/REP 模式,但我无法找出在 ASP.NET 管道中初始化 ZeroMQ 上下文的正确方法。
此外,我可以在不同的 ASP.NET 线程之间共享一个连接吗?如果可以,如何?
编辑:经过一些研究,在我看来,专用线程中的inproc路由器应该是可行的方法,因为它可以处理sincronization。
但更多的问题出现了:
- 这种inproc节点的另一端应该是DEALER?如果是这样,它应该连接到 REQ 节点吗?或者它应该绑定到一个 tcp 端口,我应该编写 REP 服务器节点来连接它(后者会有点麻烦,因为我可以让不同的服务器公开服务)?
- 作为替代方案,在一端构建一个绑定到 ROUTER 套接字的 inproc 节点并在另一端与 REQ 连接是否正确?如果是这样,我是否应该对节点进行编码,以便它处理每条消息的手动信封,以便能够将响应发送回正确的请求线程?
- Application_Start 是正确的管道点来初始化处理此类路由器的线程吗?
目前,连接到 REQ 服务器的 ROUTER/DEALER inproc 节点看起来是最好的选择,但我不确定是否可以从 DEALER 套接字连接。但这仍然只是一种猜测,可能是完全错误的。