我使用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);
}
您知道这种行为的原因吗?