【问题标题】:Asynchronous task using Task.Factory.StartNew()使用 Task.Factory.StartNew() 的异步任务
【发布时间】:2015-10-28 02:15:50
【问题描述】:

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

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

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

【问题讨论】:

  • 你肯定想要访问那些受限制的文件夹,或者它是否足以捕获异常,就像 here

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


【解决方案1】:

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-09-24
    • 1970-01-01
    • 2014-03-31
    • 2017-10-30
    • 2017-01-11
    相关资源
    最近更新 更多