Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/314.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 使用ServerManager读取IIS站点时如何避免UAC_C#_Iis_Uac_Servermanager - Fatal编程技术网

C# 使用ServerManager读取IIS站点时如何避免UAC

C# 使用ServerManager读取IIS站点时如何避免UAC,c#,iis,uac,servermanager,C#,Iis,Uac,Servermanager,我正在使用Microsoft.Web.Administration中的ServerManager来阅读和操作IIS站点。不幸的是,这似乎需要UAC,是否有办法解决这一问题,或者我必须接受这样一个事实,即在执行此操作之前,我必须征求用户的许可 var server = new ServerManager(); var site = server.Sites.FirstOrDefault(s => s.Name == "websiteName"); site.Stop(); 您可以做两件事,

我正在使用
Microsoft.Web.Administration
中的
ServerManager
来阅读和操作IIS站点。不幸的是,这似乎需要UAC,是否有办法解决这一问题,或者我必须接受这样一个事实,即在执行此操作之前,我必须征求用户的许可

var server = new ServerManager();
var site = server.Sites.FirstOrDefault(s => s.Name == "websiteName");
site.Stop();

您可以做两件事,如果您的程序是自治的,您可以设置一个计划任务并将其设置为“系统”运行

或者,如果您需要能够与应用程序交互,您可以构建一个实际执行所有工作的控制台应用程序,一直运行该应用程序,就像上面所述,将其作为一个计划任务作为系统运行

这可以称为MyAppService(虽然您不必构建服务器应用程序,但控制台应用程序也可以)

然后,构建一个应用程序,该应用程序具有您想要执行的所有按钮和各种功能,并让它请求MyAppService完成的工作。第二个应用程序可以作为标准用户运行,因为所有提升的工作都由服务完成

我以前通过命名管道做过,效果不错


我希望这是有道理的

实际上,我最终使用任务来启动我的程序,所以我不需要UAC专门向用户请求许可