Я пытаюсь создать небольшое приложение на C #, которое должно запускать / останавливать рабочий процесс IIS Express. . Для этой цели я хочу использовать официальный «IIS Express API», который задокументирован в MSDN: http://msdn.microsoft.com/en-us/library/gg418415.aspx
Насколько я понимаю , API основан (только) на COM-интерфейсах. Чтобы использовать эти COM-интерфейсы, я добавил ссылку на библиотеку COM в VS2010 через Добавить ссылку -> COM -> «Интерфейс диспетчера установленных версий IIS»:
Пока все хорошо, но что? следующий? Доступен интерфейс IIISExprProcessUtility
, который включает два «метода» для запуска / остановки процесса IIS. Обязательно ли мне писать класс, реализующий этот интерфейс?
public class test : IISVersionManagerLibrary.IIISExprProcessUtility
{
public string ConstructCommandLine(string bstrSite, string bstrApplication, string bstrApplicationPool, string bstrConfigPath)
{
throw new NotImplementedException();
}
public uint GetRunningProcessForSite(string bstrSite, string bstrApplication, string bstrApplicationPool, string bstrConfigPath)
{
throw new NotImplementedException();
}
public void StopProcess(uint dwPid)
{
throw new NotImplementedException();
}
}
Как видите, я не профессиональный разработчик. Может ли кто-нибудь указать мне правильное направление. Приветствуется любая помощь.
Обновление 1: В соответствии с предложениями я попробовал следующий код, который, к сожалению, не работает:
Хорошо, его можно создать, но я не вижу, как использовать этот объект ...
IISVersionManagerLibrary.IIISExpressProcessUtility test3 = (IISVersionManagerLibrary.IIISExpressProcessUtility) Activator.CreateInstance(Type.GetTypeFromCLSID(new Guid("5A081F08-E4FA-45CC-A8EA-5C8A7B51727C")));
Exception: Retrieving the COM class factory for component with CLSID {5A081F08-E4FA-45CC-A8EA-5C8A7B51727C} failed due to the following error: 80040154 Class not registered (Exception from HRESULT: 0x80040154 (REGDB_E_CLASSNOTREG)).