文件系统观察在网络
问题描述:
我使用独立的应用程序vb.net(2.0),并使用filesysystem观察家类找到任何新的XML进入该指定的目录,然后应用程序采取的文件,并继续该过程,但direcotry已经位于网络机器,文件系统观察在网络
现在我的问题是
一旦路径不存在,它指的是共享路径服务器进入离线,然后我的应用程序不intemate我,我怎么能恰克我的代码,
任何一个有想法,请分享给我
在此先感谢 Nanda.A
答
如果您正在侦听目录上的更改并且它变得不可用(如重新启动的服务器),FileSystemWatcher将抛出异常。它提供了一个你可以听的OnError event,你可以决定如何处理这个问题。
我有一个运行多个监视器的应用程序,当一个错误应用程序将通过循环每30秒尝试再次连接来处理错误。它也保持连续尝试连接的次数不成功并最终放弃(大约一小时后)。
下面是VB.Net的总体思路:
''' <summary>
''' This event is called when an error occurs with the file watcher. Most likely the directory being watched is no longer available (probably from a server reboot.)
''' </summary>
Protected Sub Scan_Error(ByVal Source As FileSystemWatcher, ByVal E As ErrorEventArgs)
'// Stop listening
Source.EnableRaisingEvents = False
'// Maximum attempts before shutting down (one hour)
Dim Max_Attempts As Integer = 120
Dim Timeout As Integer = 30000
Dim I As Integer = 0
'// Attempt to listen - if fail, wait and try again in 30 seconds.
While Source.EnableRaisingEvents = False And I < Max_Attempts
I += 1
Try
Source.EnableRaisingEvents = True
Catch
Source.EnableRaisingEvents = False
System.Threading.Thread.Sleep(Timeout)
End Try
End While
End Sub
什么样的应用,这是?一个需要用户输入,或者需要运行而无需人工干预? – AlexCuse 2010-01-07 18:11:16