检查网站名称是否存在或在IIS中不起作用

时间:2018-10-04 09:56:29

标签: c# iis

我在c#桌面应用程序中创建了一种方法来检查IIS中是否存在Web名称。

但是它会引发错误System.Runtime.InteropServices.COMException: 'Access is denied.'

当我以管理员模式打开Visual Studio 2017时,它可以完美工作,但是在没有管理员的情况下打开它却无法正常工作。

下面是代码:

public bool DoesWebsiteExist(string websiteName)
{
    bool result = false;

    DirectoryEntry w3svc = new DirectoryEntry(string.Format("IIS://{0}/w3svc", "localhost"));

    foreach (DirectoryEntry site in w3svc.Children)
    {
        if (site.Properties["ServerComment"] != null)
        {
            if (site.Properties["ServerComment"].Value != null)
            {
                if (string.Compare(site.Properties["ServerComment"].Value.ToString(), websiteName, false) == 0)
                {
                    result = true;
                }
            }
        }
    }

    return result;
}

0 个答案:

没有答案