【发布时间】:2012-02-02 10:21:36
【问题描述】:
我正在使用FileSystemWatcher(在 ASP.NET Web 应用程序中)来监视文件的更改。观察者在 Singleton 类的构造函数中设置,例如:
private SingletonConstructor()
{
var fileToWatch = "{absolute path to file}";
var fsw = new FileSystemWatcher(
Path.GetDirectoryName(fileToWatch),
Path.GetFileName(fileToWatch));
fsw.Changed += OnFileChanged;
fsw.EnableRaisingEvents = true;
}
private void OnFileChanged(object sender, FileSystemEventArgs e)
{
// process file...
}
到目前为止一切正常。但我的问题是:
使用局部变量 (var fsw) 设置观察程序是否安全?或者我应该在私有字段中保留对它的引用以防止它被垃圾收集?
【问题讨论】:
标签: c# asp.net garbage-collection filesystemwatcher