使用 WebClient 从 Windows 服务访问网络共享

Posted

技术标签:

【中文标题】使用 WebClient 从 Windows 服务访问网络共享【英文标题】:access to network share from windows service using WebClient 【发布时间】:2010-12-05 18:12:01 【问题描述】:

我需要创建 Windows 服务:

    使用 WebClient 从 uri(google.com、\\localnetwork\share 等)下载一些文件 停止、删除、安装、启动其他 Windows 服务 创建一些本地文件

我的服务应该使用什么帐户? 本地服务(2 和 3 怎么样)?本地系统(服务必须使用 \\localnetwork\share)?我的用户拥有特定权限?

更新

另一种选择是使用本地系统帐户和map network drive(如果是file://uri),但这是not recommended

有人吗?请

【问题讨论】:

似乎只有 2 个(如果支持 PUT,也许 4 个);为什么你决定在这里使用 WebClient 工具? 这不是我的决定。但无论如何 WebClient 有什么问题? 如果您需要访问 SMB 共享 (\\server\share),则需要“网络服务”之类的东西,而不是“本地...”帐户。 【参考方案1】:

我会设置一个专门构建的用户,该用户对网络共享和本地文件系统具有适当的权限。它应该只具有作为服务运行和实现这些目标所必需的权利。

【讨论】:

WebClient 与 \\server\share 一起为我工作。您从哪里获得有关 webclient 和 SMB 共享的信息? 无论如何,我自己的调查表明,创建具有适当权限的用户是最正确的方法

以上是关于使用 WebClient 从 Windows 服务访问网络共享的主要内容,如果未能解决你的问题,请参考以下文章

无法从Dropbox下载文件,因为无法通过C#中的WebClient与SSL / TLS通道连接

System.Net.WebClient 不适用于 Windows 身份验证

WebClient服务不能停止

WebClient 从服务器下载/获取文件方式

带有 windows phone 7 的协议缓冲网络

无法从 C# Rest 服务获取 WebClient.UploadFile