当前位置: 首页 > 编程语言 > C#

以编程方式重启IIS分享

时间:2023-04-11 01:22:16 C#

以编程方式重启IIS我需要从C#/.NET应用程序中重启IIS。这似乎是一个微不足道的问题,但到目前为止我没有成功,而且这个问题的答案都没有奏效。我是这台机器的本地管理员。我试过这个:varprocess=newProcess{StartInfo={Verb="runas",WorkingDirectory=@"C:WindowsSystem32",FileName=@"issreset.exe"}};过程。开始();但这会引发Win32Exception-找不到指定的文件。我还尝试了将整个路径放入FileName并使用UseShellExecute的各种组合,但这些选项都没有帮助。我也尝试通过命令行调用它:varprocess=newProcess{StartInfo={Verb="runas",WindowStyle=ProcessWindowStyle.Hidden,FileName=@"cmd.exe",Arguments="/Ciisreset"}};过程。开始();这行得通,但它给出了一个UAC提示,我不能,因为该应用程序将在没有用户干预的情况下运行。还有什么我可以尝试的吗?您得到的异常很可能是由于您尝试运行此应用程序的用户没有管理权限。如果您以管理员帐户运行该应用程序,它应该会自动以管理权限启动iisreset,而不会出现UAC提示或错误。如何以管理员身份运行进程是一个单独的问题。最常见的方法是创建应用程序清单:http://msdn.microsoft.com/en-us/library/ms235229.aspx文件名错误。尝试FileName=@"iisreset.exe"或者(更清洁)您可以使用ServiceController类停止并随后启动iis服务。您可能仍然需要提升权限……模拟可能会解决这个问题;“模拟具有更高权限的帐户。”用于重新启动服务。可以在此处找到有关如何启动/停止(和重新启动)Windows服务的一个很好的示例:启动、停止和重新启动Windows服务(C#)在解决方案资源管理器中->添加->新项目->右键单击??项目名称在应用程序清单文件中。在其中编辑这应该可以解决您的问题。启动IIS的另一种选择:以上是C#学习教程:以编程方式重启IIS分享所有内容,如果对你有用,需要详细了解C#学习教程,希望大家多多关注——stringserviceName="W3SVC";//W3SVC指的是IIS服务ServiceControllerservice=newServiceController(serviceName);服务.开始();service.WaitForStatus(ServiceControllerStatus.Running);//等待服务启动并运行中如涉及侵权,请点击右侧联系管理员删除。如需转载请注明出处: