gpt4 book ai didi

c# - FileSystemWatcher 监视 UNC 路径

转载 作者:IT王子 更新时间:2023-10-29 04:30:43 25 4
gpt4 key购买 nike

关于这个主题的问题不乏其人,但我还是遇到了麻烦。这是我的情况。我有一项服务需要监视配置文件中指定的路径。当我使用本地驱动器时效果很好。

但是,当我将其更改为类似 \\server2\secondary\temp\watch_folder 的内容时,服务不会启动。日志中的错误是

The directory name \\server2\secondary\temp\watch_folder is invalid.

如果我将其直接复制到 Windows 资源管理器中,该文件夹将正常打开。如果我把我的代码粘贴到一个旧的 Winforms 应用程序中,它就可以正常工作。我已经尝试了所有的“登录身份”帐户。我设置为使用管理员帐户,但仍然没有骰子。

这是我的代码:

_watcher = new FileSystemWatcher();
_watcher.Path = ConfigurationManager.AppSettings["WatchFolder"];
_watcher.NotifyFilter = NotifyFilters.LastWrite | NotifyFilters.FileName;
_watcher.Filter = "*.txt";
_watcher.Created += new FileSystemEventHandler(OnCreated);
_watcher.Error += new ErrorEventHandler(OnError);
_watcher.EnableRaisingEvents = true;

有什么想法吗?我不知所措,在这一点上我想我已经盯着它看了太久了。我真诚地感谢任何帮助。

谢谢,尼克

编辑这是异常(exception)情况:

Service cannot be started. System.ArgumentException: The directory name \server2\Secondary\temp\watch_folder is invalid.
at System.IO.FileSystemWatcher.set_Path(String value)
at FileWatcher.FileWatcher.Watch()
at FileWatcher.FileWatcher.OnStart(String[] args)
at System.ServiceProcess.ServiceBase.ServiceQueuedMainCallback(Object state)

最佳答案

我刚试过这个:

var _watcher = new FileSystemWatcher();
_watcher.Path = @"\\10.31.2.221\shared\";
_watcher.NotifyFilter = NotifyFilters.LastWrite | NotifyFilters.FileName;
_watcher.Filter = "*.txt";
_watcher.Created += new FileSystemEventHandler((x, y) =>Console.WriteLine("Created"));
_watcher.Error += new ErrorEventHandler( (x, y) =>Console.WriteLine("Error"));
_watcher.EnableRaisingEvents = true;
Console.ReadKey();

这没有问题,但是我只是在以下时间复制了您的异常:

  • 运行用户没有读取远程文件夹的权限。
  • 远程文件夹不存在。

你的问题肯定与权限有关,我认为运行用户没有所需的权限。

您可以尝试的另一件事是将远程文件夹映射到一个本地文件夹。

在cmd中执行:

NET USE Z: \\server2\Secondary\temp\watch_folder /user:Domain\UserName Password

然后在你的代码中:

_watcher.Path = @"Z:\";

关于c# - FileSystemWatcher 监视 UNC 路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11219373/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com