【问题标题】:Accessing to NFS drive from windows service in C#在 C# 中从 Windows 服务访问 NFS 驱动器
【发布时间】:2021-01-03 13:13:28
【问题描述】:

我用 .net core 3.1 编写了一个 Windows 服务。此服务应访问 NFS 驱动器但抛出以下异常。

System.IO.DirectoryNotFoundException:找不到一部分 路径'Z:...\sample.txt'。

我使用登录系统(Windows 服务器)的同一用户安装了此服务。另外,我写了一个Console应用进行测试,这个console应用可以访问NFS驱动。

为什么我可以通过控制台和同一用户访问,但在 windows 服务中,我无法访问 NFS 驱动器。

【问题讨论】:

  • 因为您的服务没有映射网络驱动器(如 Z:) 的交互式登录。让您的服务访问实际的 unc 路径。
  • 您是否在 VS 中以管理员身份运行。 VS 不会自动授予管理员权限。代码将在 VS 之外运行。您可以创建 VS 的快捷方式。然后通过右键单击快捷方式启动VS并选择以管理员身份运行。

标签: c# .net-core windows-services nfs


【解决方案1】:

如您所见:Map a network drive to be used by a servicehttps://superuser.com/questions/650025/how-to-access-mapped-directory-from-a-windows-service

为什么?

永久驱动器映射仅在交互式登录时恢复,服务通常不执行。

我的建议,使用符号链接。似乎更简单的解决方案

mklink /D C:\myLink \\127.0.0.1\c$

【讨论】:

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