【问题标题】:Handling System.IO.IOException For Multiple Connections处理多个连接的 System.IO.IOException
【发布时间】:2009-03-10 15:04:49
【问题描述】:
我想创建一个应用来远程监控多台服务器的事件日志,一切都很好,但是服务器可能会不时离线。
当我连接到远程事件日志并且与机器的连接丢失时抛出 System.IO.IOException,我想通过再次连接到远程服务器来处理错误,但由于 EventLog 类没有一个连接方法,我将不得不创建一个新的 EventLog 实例并找出哪个 EventLog 实例引发了异常。
处理这种情况的最佳方法是什么?
【问题讨论】:
标签:
c#
events
error-handling
【解决方案1】:
您可以从引发异常的 EventLog 实例中获取日志名称和机器名称,然后使用这些详细信息重新初始化该失败实例。
至于存储 EventLog 实例,请使用 List 或 Dictionary,这将允许您枚举当前正在监视的所有 EventLog。
【解决方案2】:
您可以创建一个 ManagedEventLog 类,在其中存储事件日志连接,如果连接丢失并引发异常,您可以创建一个 id,您可以查看哪个 id 属于该连接,并可以在 ManagedEventLog 类上调用 reconnect 方法。