取决于LanmanServer
接受的答案中提到的 @user957902 在 Windows Server 2019 上不起作用(嗯,至少对我和其他一些人来说)。
在 Windows Server 2019 中,我认为无法使用服务依赖项解决此问题。
我在我的 Windows 服务中解决了这个问题,方法是等待 Internet 连接建立,使用以下代码(只需调用该WaitUntilInternetConnectionAvailable
方法):
public static class WinINet
{
[DllImport("wininet.dll")]
public static extern bool InternetGetConnectedState(out int description, int reservedValue);
}
...
public static bool WaitUntilInternetConnectionAvailable(TimeSpan timeout, TimeSpan checkEvery)
{
var sw = Stopwatch.StartNew();
while (sw.Elapsed < timeout)
{
if (IsInternetConnectionAvailable())
{
return true;
}
Thread.Sleep(checkEvery);
}
return false;
}
public static bool IsInternetConnectionAvailable()
{
return WinINet.InternetGetConnectedState(out _, 0);
}