调用 WebDAV "Network"共享会导致"Network Path was not Found"



我有一个C#应用程序,它调用WebDAV文件,就好像它是一个网络文件共享一样。

前任:

var file = File.ReadAllText(@"\serverWebDAVRootfile.txt");

但是,有时(似乎偶尔)这会返回"找不到网络路径"。当我远程访问服务器并检查共享时,神奇地代码开始工作。

这是怎么回事?

这里的问题是.NET无法访问WebDAV共享,除非WebDAV服务已经由用户触发。

默认情况下,此服务是"WebClient"服务 - 某些服务器默认情况下甚至没有安装此服务(您可以通过从服务器管理器添加"桌面体验"功能来解决此问题)。

在服务器上安装 WebDAV 后,默认情况下将 WebClient 设置为"手动(触发启动)"。激活服务的触发器是对 WebDAV 共享的资源管理器调用 - 因此,.NET 代码不会触发服务启动。

您可以通过几种方式解决此问题 - 我通过将 WebClient 服务设置为"自动"解决了这个问题,但您也可以使用 ServiceController 类从 C# 代码内部检查服务状态/启动服务。

相关内容

  • 没有找到相关文章

最新更新