我在ServerManager
中使用Microsoft.Web.Administration
来阅读和操作IIS网站。遗憾的是,这似乎需要UAC,有没有办法解决这个问题,或者我必须接受在执行此操作之前我必须要求我的用户获得许可?
var server = new ServerManager();
var site = server.Sites.FirstOrDefault(s => s.Name == "websiteName");
site.Stop();
答案 0 :(得分:0)
你可以做两件事,如果你的程序是自治的,你可以设置一个计划任务并将其设置为“SYSTEM”
或者,如果您需要能够与应用程序交互,您可以构建一个实际完成所有工作的控制台应用程序,一直运行该应用程序,如上所述,作为系统运行的计划任务。
这可以称为MyAppService(虽然您不必构建服务器应用程序,控制台应用程序也没问题)
然后,构建一个应用程序,其中包含您想要执行的所有按钮的各种功能,并让它请求MyAppService完成工作。第二个应用程序可以作为标准用户运行,因为所有提升的工作都是由服务完成的。
我之前通过命名管道完成了它并且它起了作用。
我希望这是有道理的!