Ste*_*veH 5 .net c# zeromq netmq
我使用 NetMQ 进行客户端/服务器通信,使用 Pub/Sub 获取价格数据,使用 Req/Res 进行 C&C 定价。它工作得很好,只是我看到 NetMQ 库内部发生了随机且不可重现的异常。
我目前在 Windows Server 2008R2/20012R2 上的 .Net v4.7.2 堆栈上使用 NetMQ v4.0.1.6。
例外情况包括:
并且都发生在 NetMQ.NetMQPoller.RunPoller() 或 NetMQ.Core.Utils.Proactor.Loop() 中,我不知道如何捕获和缓解它们。
使用 NetMQ 强化服务/应用程序以防止此类异常导致服务瘫痪的正确方法是什么?
Joh*_*nFF -1
我在一家大型组织专业地完成了这项工作,并取得了巨大的成功。
最佳实践是在循环中包含一个 try catch 处理程序,然后执行如下操作
(从列表中随机抽取的示例错误类型)
/*loop*/(/*loop condition*/) {
try {
// processing
}
catch (NetMQ.FaultException $exception) {
// specific error handling
}
catch (System.ObjectDisposedException $exception) {
// specific error handling
}
catch (Exception $exception) {
// generic error handling
}
}
Run Code Online (Sandbox Code Playgroud)
另外,请随意向其传递特定的错误处理类/服务,以将错误处理功能卸载到单独的位置(更高的可测试性)。
| 归档时间: |
|
| 查看次数: |
1085 次 |
| 最近记录: |