gpt4 book ai didi

iis - 如果我想使用Microsoft.Web.Administration,等效于IISReset

转载 作者:行者123 更新时间:2023-12-02 04:03:17 25 4
gpt4 key购买 nike

看起来不仅涉及迭代ApplicationPools并对其调用Recycle(),还涉及更多的工作。如何在不借助Shell调用的情况下(从.Net)以编程方式最紧密地模仿IISReset?

我想最重要的是:是否有IISReset无法通过Microsoft.Web.Administration命名空间中提供的工具来完成的事情?

最佳答案

您可以通过启动或停止以下服务来使用System.ServiceProcess.ServiceController(从此answer中获得了灵感):

-Windows进程激活服务(WAS)
万维网发布服务(W3SVC)

这是完成工作的一些代码:

//stop iis (like running "IISReset /Stop")
ResetService("WAS", false);
ResetService("W3SVC", false);

//start iis (like running "IISReset /Start")
ResetService("WAS", true);
ResetService("W3SVC", true);

private static void ResetService(string name, bool start)
{
using (var service = new System.ServiceProcess.ServiceController(name))
{
if (start && service.Status == ServiceControllerStatus.Stopped)
{
service.Start();
}
else if (!start && service.Status == ServiceControllerStatus.Running)
{
service.Stop();
}
}
}

至于其他IISReset命令,则可以很容易地在超时中进行编码。并重新启动计算机,请检查 this answer。让我知道是否需要更多详细信息。

但是,如果这还不够,那么您可以始终使用 this technique(漂亮的baller,如果只需要完成)在C#中执行Power Shell脚本。

关于iis - 如果我想使用Microsoft.Web.Administration,等效于IISReset,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9064271/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com