我有这个函数执行异步任务运行并返回结果
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方法。
答案 0 :(得分:1)
抱歉给您带来不便,原来问题不在于特别是并行任务,我正在使用窗口身份模拟来访问网络驱动器,而且某种程度上任务似乎失去模仿所以在我将模拟用户传递给任务后,一切正常。
我发现这有帮助
How do I set the user identity for tasks when calling Task.WaitAll()