1

我有这个执行异步任务运行并返回结果的函数

 public bool CheckNetworkDrive(string drive)
 {
    var task = new Task<bool>(() => { return CheckNetworkDriveMethod(drive); });

    task.Start();

    //make async call to check network path to avoid lock in case of not exist 
    if (task.Wait(5000) && task.Result)
        return true; 
    return false;
 }

在本地主机中一切正常,但在 webgarden 中它似乎不起作用,我无法弄清楚确切的原因,所以你能帮忙或建议一个替代方案!

ps,check 方法会检查网络路径,如果没有响应会阻塞整个代码,所以我需要 fire 和 async wait 方法。

4

1 回答 1

1

很抱歉给您带来不便,事实证明问题不在于并行任务,我正在使用窗口身份模拟来访问网络驱动器,并且不知何故,任务似乎失去了模拟,所以在我将模拟用户传递给任务后一切工作正常。

我发现这有帮助

调用 Task.WaitAll() 时如何设置任务的用户身份

于 2014-03-24T17:33:05.463 回答