Подтвердить что ты не робот

Как создать новый пул приложений в проекте Web Setup?

Мне нужно развернуть мой веб-сервис. Он должен запускаться в отдельном пуле приложений в IIS с его собственными учетными данными.

Можно ли это сделать, используя проект Web Setup в VS 2008?

По умолчанию я, кажется, только могу выбрать существующий пул приложений.

4b9b3361

Ответ 1

Я раньше был на этом пути, и, к сожалению, вам нужно создать пул приложений вручную или написать Custom Action для управления этим для вас.

В дополнение к вопросу Grzenio в комментариях ниже:

"Не могли бы вы дать мне подсказку, с чего начать поиск классов кода/помощника? И поддерживаете ли вы проект проекта веб-установки или используете стандартный проект установки приложений?"

Я добавил новый проект под названием InstallHelper к решению, содержащему проект установки. В этом проекте я создал класс под названием InstallActions, который происходит из:

System.Configuration.Install.Installer (MSDN).

Существует четыре метода, которые вы можете переопределить в базовом классе Installer, чтобы вы могли указывать настраиваемые действия в зависимости от того, находитесь ли вы на этапах установки, фиксации, удаления или отката при запуске программы установки.

Я также добавил несколько диалоговых окон текстовых полей в пользовательский интерфейс проекта установки. Вход и состояние, записанные из этих диалогов, передаются вашему пользовательскому действию установки через словарь. то есть:.

using System.Collections.Specialized;
using System.ComponentModel;
using System.Configuration.Install;
using System.Windows.Forms;

namespace InstallHelper
{
  [RunInstaller(true)]
  public partial class PostInstallActions : Installer
  {   
    public override void Install(IDictionary state)
    {
      base.Install(state);
      // Do my custom install actions
    }

    public override void Commit(IDictionary state)
    {
      base.Commit(state);
      // Do my custom commit actions
    }

    public override void Uninstall(IDictionary state)
    {
      base.Uninstall(state);
      // Do my custom uninstall actions
    }
    public override void Rollback(IDictionary state)
    {
      base.Uninstall(state);
      // Do my custom rollback actions
    }
  }
}

Чтобы добавить проект пользовательских действий в проект установки, откройте редактор/Редактор настраиваемых действий и укажите результат проекта InstallHelper.

Это основы, и вы должны начать. Проект Web Setup также поддерживает пользовательские действия и дополнительные диалоговые окна ввода пользователем, поэтому вы можете повторно использовать свой существующий проект в дополнение к пользовательскому действию.

Ответ 2

Отметьте это сообщение http://forums.iis.net/t/1061734.aspx, он даст некоторое приблизительное представление о Microsoft.Web.Administration dll.

Я не изучил всю концепцию, но я решил, как создать новый пул и как подключиться с новым веб-сайтом/виртуальным каталогом.

Создание пула приложений

Microsoft.Web.Administration.ServerManager manager = new Microsoft.Web.Administration.ServerManager();
manager.ApplicationPools.Add("NewApplicationPool");
manager.CommitChanges();

Присоединение к существующему виртуальному каталогу

Microsoft.Web.Administration.ServerManager manager = new Microsoft.Web.Administration.ServerManager();
Site defaultSite = manager.Sites["Default Web Site"];

// defaultSite.Applications will give you the list of 'this' web site reference and all
// virtual directories inside it -- 0 index is web site itself.

Microsoft.Web.Administration.Application oVDir = defaultSite.Applications["/myApp"];            
oVDir.ApplicationPoolName = "NewApplicationPool";
manager.CommitChanges();

Таким образом вы можете назначить пул приложений на свой новый веб-сайт, используя пользовательские действия, переопределяя метод фиксации класса установщика.

Если вы все еще боретесь, сообщите мне, и я попытаюсь отправить код.

Отношения Faiyaz [email protected]