【发布时间】:2012-01-22 12:38:22
【问题描述】:
我在尝试找出如何监视文件夹以进行更改时遇到问题。这是我已经走了多远:
Class MainWindow
<PermissionSet(SecurityAction.Demand, Name:="FullTrust")> _
Private Sub Window_Loaded(ByVal sender As System.Object, ByVal e As System.Windows.RoutedEventArgs) Handles MyBase.Loaded
Dim Path As String = "C:\Temp"
' Create a new FileSystemWatcher and set its properties.
Dim watcher As New FileSystemWatcher()
watcher.Path = Path
' Watch for changes in LastAccess and LastWrite times, and
' the renaming of files or directories.
watcher.NotifyFilter = (NotifyFilters.LastAccess Or NotifyFilters.LastWrite Or NotifyFilters.FileName Or NotifyFilters.DirectoryName)
' Only watch text files.
watcher.Filter = "*.txt"
' Add event handlers.
AddHandler watcher.Changed, AddressOf OnChanged
AddHandler watcher.Created, AddressOf OnChanged
AddHandler watcher.Deleted, AddressOf OnChanged
AddHandler watcher.Renamed, AddressOf OnRenamed
' Begin watching.
watcher.EnableRaisingEvents = True
End Sub
' Define the event handlers.
Private Shared Sub OnChanged(ByVal source As Object, ByVal e As FileSystemEventArgs)
' Specify what is done when a file is changed, created, or deleted.
MsgBox("File: " & e.FullPath & " " & e.ChangeType)
End Sub
Private Shared Sub OnRenamed(ByVal source As Object, ByVal e As RenamedEventArgs)
' Specify what is done when a file is renamed.
MsgBox("File: {0} renamed to {1}", e.OldFullPath, e.FullPath)
End Sub
End Class
问题是当文件夹中发生更改时,程序退出时没有错误代码。我已经阅读了一些相关的帖子,我知道这与线程安全有关。但是我不知道如何使这个程序“线程安全”。谁能给我一些建议?谢谢!
【问题讨论】:
-
因什么而崩溃?空引用?
-
不,抱歉,它没有“崩溃”,程序只是退出,没有错误消息
-
为帮助将来捕获此类错误,请在 Visual Studio 的调试菜单下的“异常...”窗口中的“公共语言运行时异常”上设置“抛出异常时中断”。