在 C# 中停止和启动 IIS

  • 本文关键字:启动 IIS c# iis iis-7
  • 更新时间 :
  • 英文 :


我需要能够在C#中启动/停止IIS。我的经理指派我创建这个模块。以下是我的尝试:

ServiceController service = new ServiceController("w3svc");
service.Stop();

我收到以下异常:

无法在计算机"."上打开 w3svc 服务。

我正在编写代码以停止本地计算机上的 IIS。

我也尝试IISAdmin作为服务名称,但在我的计算机上找不到IISAdmin

您必须使用 Microsoft.Web.Administration 。

Microsoft.Web.Administration (MWA( API 构建为托管 应用程序主机管理 API 上的代码包装器 (AHADMIN( 这是一个本机代码接口库。它提供了一个 访问和更新 Web 服务器配置的方式以及 管理信息。

using System;
using System.Linq;
using Microsoft.Web.Administration;
class Program
{
static void Main(string[] args)
{
var server = new ServerManager();
var site = server.Sites.FirstOrDefault(s => s.Name == "Default Web Site");
if (site != null)
{
//stop the site
site.Stop();
//start the site
site.Start();
}
}
}

本文讨论使用 Microsoft.Web.Administration 的详细方案。

请注意,您必须以管理员身份运行 C# 应用程序才能在 IIS 上执行任何操作。否则,访问可能会被拒绝。

最新更新