Программный запуск и остановка IIS Express

Я пытаюсь создать небольшое приложение на 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: В соответствии с предложениями я попробовал следующий код, который, к сожалению, не работает:

alt text Хорошо, его можно создать, но я не вижу, как использовать этот объект ...

alt text

alt text

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)).

56
задан Bramha Ghosh 23 February 2011 в 21:33
поделиться