Мне нужно отслеживать состояние приложения в пуле приложений IIS 7 с другого компьютера в том же домене. Мое приложение мониторинга должно быть в C # и работать как служба Windows.
На моем сервере я создаю пользователя с правами администратора и выполняю команду aspnet_regiis -ga machine \ username, которая успешно работала.
Моя проблема, когда я пытаюсь получить доступ к пулу приложений, я все еще получаю COMExcepttion "Доступ запрещен".
Что я сделал не так или какой шаг я пропустил?
Я использовал код из http://patelshailesh.com/index.php/create-a-website-application-pool-programmatically-using-csharp в качестве примера.
int status = 0;
string ipAddress = "10.20.2.13";
string username = "username";
string password = "password";
try
{
DirectoryEntry de = new DirectoryEntry(string.Format("IIS://{0}/W3SVC/AppPools/MyAppPoolName", ipAddress), username, password);
//the exception is thron here.
status = (int)de.InvokeGet("AppPoolState");
switch (status)
{
case 2:
//Runnig
break;
case 4:
//Stopped
break;
default:
break;
}
}
catch (Exception ex)
{
}