Я создал один метод в настольном приложении c #, чтобы проверить, существуют ли веб-имена в IIS или нет.
Но выдает ошибку 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;
}