启动时网络驱动器不可用

4
我有一个C#应用程序,在启动时加载,并将数据记录到网络驱动器上,该驱动器被挂载为X:
当计算机首次启动时,该应用程序会抛出一个错误,指出X:\不可用。如果我重新启动应用程序,仍然会出现相同的错误。
但是,如果我打开Windows资源管理器并双击浏览驱动器,然后再运行应用程序,它就能正常连接到X:。
尽管已经映射,但网络驱动器是否不会在启动时自动初始化?有没有一种方法可以设置它们在启动时自动初始化?

根据网络连接,当您启动系统时,它们需要一些时间才能映射和连接。您可能需要增加时间或添加功能来等待并检查网络是否已映射,并仅在超过设置的阈值或时间时抛出错误。 - rs.
@rs:我已经尝试等待超过10分钟,但似乎无法映射它们。 - Gavin Coates
2个回答

3

我也曾遇到过相同的问题。不知道是否有更好的方法,但在访问映射驱动器之前,我将以下内容添加到我的代码中。

Process mapDrive = new Process();
mapDrive.StartInfo.FileName = "net.exe";
mapDrive.StartInfo.Arguments = @"use c: \\server\share";
mapDrive.StartInfo.WindowStyle = ProcessWindowStyle.Hidden;
mapDrive.Start();

那样,无论驱动器是否在启动时可用,它总是可用的。

这个可以工作,但是目录的路径需要在配置文件中输入,然后在启动时读取。它可能在网络驱动器上,也可能在本地驱动器上。在尝试挂载之前,我需要检查它是本地还是网络驱动器。这有点混乱。在Windows中没有自动挂载驱动器的方法吗? - Gavin Coates
1
在Windows中没有办法自动挂载驱动器吗?如果有的话,我也想知道。 - JimDel
我决定这样做,因为我找不到其他选项。但是,在使用“StartInfo.Arguments = @”use x: /d“”之前,您可能需要先断开驱动器的连接。此外,您可能希望将Windows设置为在空闲时不自动断开网络驱动器 - “net config server /autodisconnect:-1”。 - Gavin Coates

0

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接