Windows 服务

标签 windows windows-services

我开发了一个 Windows 服务来在目录中写入 PDF 文件。该服务将文件写入本地驱动器没有问题。但是当它尝试写入网络映射驱动器时,它会失败并将文件写入应用程序目录。

最佳答案

以下是我在创建与您相同的服务(在网络驱动器上阅读和保存 PDF)时的一些经验。我有 2 个驱动器:第一个不需要身份验证,第二个必须进行身份验证。

映射网络驱动器的常见故障

  • UNC 路径与驱动器号:驱动器号不起作用,您必须使用 UNC 表示法指定路径。 (例如\\10.17.194.1\RemoteDir\)

  • 身份验证:如果网络驱动器需要您进行身份验证,我找到的唯一方法是在运行该服务的机器上创建身份验证用户。如果您需要使用“RemotePassword”验证为“RemoteUser”以访问网络驱动器,您应该在服务器上创建一个RemoteUser/RemotePassword 帐户并让服务以该用户身份运行。

    如果您没有访问该目录的权限,您将收到一个异常,告诉您它找不到该目录/文件,或者它不存在。

  • 服务无法自行建立连接:此外,必须至少从资源管理器手动访问网络驱动器一次,以便您可以浏览它。我的服务无法自行建立与网络驱动器的连接,必须之前在资源管理器中建立。

希望以上几点对您有所帮助。

关于 Windows 服务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1063137/

相关文章:

windows-services - 如何从具有管理员权限的 Windows 服务运行程序

windows - 使用 powershell 设置新的 smb 共享时出错

windows - 使用 MSVC 2010 构建 OpenSSL 1.0.1c 时出错

python - 在 Windows 上的 PsychoPy 中记录屏幕触摸开始的时间

c# - 将 DispatcherTimer 与 Windows 服务一起使用

winapi - 无法在没有密码的帐户下运行服务?

c# - xamarin.forms 将 listview-imagecell 图像源绑定(bind)到 byte[]

c# - DataGridView CellFormatting 事件未触发

c# - 如何在 .net 中的另一台计算机上运行进程

http - 如何使用 Windows 服务接收 http 请求