При использовании служб каталогов в IIS7 я не могу получить invoke (метод) для работы с пулом приложений. Он последовательно возвращает исключение неизвестного имени.
Неизвестное имя. (Исключение из HRESULT: 0x80020006 (DISP_E_UNKNOWNNAME))
Я могу использовать команду InvokeGet для получения данных свойств из пула приложений, но вызывать их постоянно не удается. Это как если бы имена методов были изменены между IIS6 и IIS7.
Код запускается веб-страницей, работающей в окне Windows 2003 с IIS6. Он запрашивает окно Windows 2008 с IIS7.5
Вот мой код:
string machineName = this.MYMACH.Text;
string query;
string Usrnm = GetUSRNAME(); //decrypts admin user name
string Pswd = GetPSWORD(); //decrypts admin user password
query = String.Format("IIS://{0}/w3svc/AppPools/{1}", machineName, AppPoolName);
DirectoryEntry w3svc = new DirectoryEntry(query, Usrnm, Pswd);
try
{
if (4 == (int)w3svc.InvokeGet("AppPoolState")) // <--- works
{
w3svc.Invoke("Start", null);
errormsgs.Text = string.Format("Application pool {0} retarted", btn.Text);
}
else
{
w3svc.Invoke("Recycle", null); <--- Excepts
errormsgs.Text = string.Format("Application pool {0} recycled", btn.Text);
}
}
catch (Exception eee)
{
errormsgs.Text = string.Format("Application pool {0} recycle error {1}... Query text = {2}", btn.Text, eee.Message, query);
}
Я пробовал вызывать несколько способов:
w3svc.Invoke ("Recycle", null);
w3svc.Invoke ("Recycle", object [] {});
w3svc.Invoke ( "корзина");
Никто из них не работает
есть идеи?