文件访问不适用于Task.Run,​​但不能在

时间:2019-07-17 13:04:38

标签: c# asynchronous task

我使用Task.Run触发并忘记了创建PDF并将内容写入文件夹的功能。写入文件夹的函数将引发异常,因为它没有写入文件夹的权限。当我删除Task.Run并正常调用该函数时,它工作正常。

void mainFunction()
{

     //do main work//
     Task.Run(() => { CreatePPDF(id); });
}

void CreatePPDF(int id)
{
   var data = GetData(id);
   byte[] content = GetDocument(data);
   var path = GetPath();

   File.WriteAllBytes(path, content);   // getting access denied error here
}

这有效:

     void mainFunction()
        {

            //do main work
            CreatePPDF(id);
        }

您知道这种行为的原因吗?

0 个答案:

没有答案