异步任务使用task . factory . startnew()

本文关键字:startnew factory task 任务 异步 | 更新日期: 2023-09-27 18:06:32

在项目执行的某些时候,我们使用Task.Factory.StartNew()来创建异步任务。其中需要删除一些临时文件。以下是我使用的代码:

 Task.Factory.StartNew(Function() deleteTempDocs(path))

问题是某些文件夹可能有权限限制。所以我需要用Administrator Rights运行这个任务。即使我的项目没有在管理权限中运行。有可能像这样设定权利吗?

异步任务使用task . factory . startnew()

不可能使用Administrator权限运行任务,因为权限是在进程级别上分配的。您必须启动一个新进程,例如一个批处理文件,并让它以管理员身份运行。

var process = new Process();
var processStartInfo = new ProcessStartInfo();
processStartInfo.Verb = "runas"; // runs as Administrator
processStartInfo.FileName = "myFileDeleter.exe";
process.StartInfo = processStartInfo;
process.Start();   
process.WaitForExit();