使用Task.Factory.StartNew()的异步任务

时间:2015-08-05 10:42:40

标签: c# vb.net winforms console scheduled-tasks

在我们项目的某个执行点,我们使用Task.Factory.StartNew()来创建异步任务。这些都是删除一些临时文件所必需的。以下是我正在使用的代码:

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

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

1 个答案:

答案 0 :(得分:0)

无法运行具有管理员权限的任务,因为在进程级别上分配了权限。您必须启动一个新进程,例如批处理文件,并让它以管理员身份运行。

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();