使用代码检查 IIS 上托管的站点名称

check the site name hosted on IIS using code

我的站点名称在 IIS 上是 "Flows" 如果我使用名称 "FLOWS" 搜索它不起作用,那么我是否可以在不区分大小写的情况下搜索它。

class Program
{
    static void Main(string[] args)
    {
        try
        {
            using (ServerManager manager = new ServerManager())
            {
                var iisManager = ServerManager.OpenRemote("ServerName");
                Microsoft.Web.Administration.Site site = iisManager.Sites.Where(q => q.Name.("Flows")).FirstOrDefault();
                if (site.State == site.Start())
                {
                    site.Stop();
                }
                else
                {
                    site.Start();
                }
            }
        }
        catch (Exception ex)
        {
        }
    }
}

根据您的需要使用 CurrentCultureIgnoreCase or InvariantCultureIgnoreCase or OrdinalIgnoreCase 中的任何一个,例如:

q => q.Name.Equals("FLOWS", StringComparison.CurrentCultureIgnoreCase)

通过使用 StringComparison 枚举值设置大小写规则,可以为字符串比较启用不区分大小写。

CurrentCultureIgnoreCaseInvariantCultureIgnoreCaseOrdinalIgnoreCase 中的任何一个传递给比较将导致不区分大小写的比较。例如

class Program
{
    static void Main(string[] args)
    {
        using (ServerManager manager = new ServerManager())
        {
            var iisManager = ServerManager.OpenRemote("ServerName");

            Microsoft.Web.Administration.Site site = iisManager.Sites.Where(
                q => q.Name.Equals("FLOWS", StringComparison.CurrentCultureIgnoreCase)
            )

            if (site.State == site.Start())
            {
                site.Stop();
            }
            else
            {
                site.Start();
            }
        }
    }
}