【问题标题】:Calling a WebDAV "Network" Share results in "Network Path was not Found"调用 WebDAV“网络”共享导致“找不到网络路径”
【发布时间】:2017-05-26 16:13:02
【问题描述】:

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

例如:

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

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

这里有什么问题?

【问题讨论】:

    标签: c# .net windows io webdav


    【解决方案1】:

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

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

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-02-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多