Windows服务(即 Email_Tool ),之前工作正常,最近一直没有正常工作。
服务概述
遇到问题
自几天以来,Email_Tool一直未按预期工作。这些步骤未记录在日志文件中,并且未发送电子邮件。
采取的步骤
我们采取了许多措施来确定问题。以下是其中几个:
很明显,之前工作的服务不适用于生产中使用的共享路径。
值得注意的信息
BaseException
基本异常区域提供了以下代码:
ErrorCode:-2147467259 本机错误代码:58
以上原生错误代码58指向以下(谷歌搜索)
ERROR_BAD_NET_RESP 58(0x3A) 指定的服务器无法执行请求的操作。
的InnerException
内部异常显示以下代码:
_COMPlusExceptionCode -532459699 int
码
服务开始事件有此代码段
m_Watcher = new System.IO.FileSystemWatcher();
m_Watcher.Filter = "*.*";
m_Watcher.Path = @filWatcherPath;
m_Watcher.IncludeSubdirectories = true;
m_Watcher.NotifyFilter = NotifyFilters.LastAccess | NotifyFilters.LastWrite
| NotifyFilters.FileName | NotifyFilters.DirectoryName;
m_Watcher.Created += new FileSystemEventHandler(OnChanged);
// m_Watcher.Error += new ErrorEventHandler(OnError);
m_Watcher.EnableRaisingEvents = true;
作为一种解决方法,我们使用了另一个文件服务器,该服务器正常运行。但我们必须找到一个解决办法。如果我必须提供任何其他信息,请告诉我。我之前发过这个问题,但我认为这篇文章提供了更多细节。
答案 0 :(得分:0)
答案 1 :(得分:0)
找到了这个问题的根本原因。被监视的目录正在脱离网络驱动器,可能是由于网络故障。即使在目录被附加之后,文件观察者也无法在重新启动之前查看该目录。
解决方案是在发生此类事件时引发异常,然后自动重启监视器(或任何其他方法以优雅地处理该情况)
有一个标志:EnableRaisingEvents。必须设置为true才能捕获此类错误。 阅读有关EnableRaisingEvents here。
的信息