Отладка отдельного экземпляра роли с помощью эмулятора Azure Compute - PullRequest
10 голосов
/ 09 февраля 2011

Я создаю приложение, которое будет работать в Azure. Моё решение Visual Studio содержит несколько ролевых проектов Azure. При локальной отладке я использую эмулятор вычислений Azure.

Чтобы начать отладку, я выполняю следующие шаги:

  1. Я щелкаю правой кнопкой мыши свой проект Azure и нажимаю Установить как стартовый проект.
  2. Я нажимаю F5, чтобы запустить отладчик.

Что происходит сейчас, так это то, что эмулятор / vs2010 запускает и мои веб-роли, и рабочие роли, даже если в данный момент меня интересует только отладка одной рабочей роли. Часто при написании некоторого кода фоновой обработки в моей рабочей роли мне интересно проходить по этому коду без запуска веб-роли, запускать Internet Explorer и т. Д.

Есть ли удобный способ заставить отладчик запускать только один экземпляр роли, а не все?

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

Ответы [ 3 ]

7 голосов
/ 09 февраля 2011

Эмулятор (похожий на сам Azure) работает только по концепции «облачной службы».Поэтому, когда вы запускаете w / debug, он запускает все, что определено в вашем проекте облачной службы (.ccproj).Это имитирует Azure на 100%, поэтому это происходит, но я определенно вижу, где будет полезен ваш сценарий.

Несколько вариантов в зависимости от ваших потребностей.

Если вам нужно протестировать Azure-особенности (иначе он должен запускаться в эмуляторе)

  • Создайте второй файл решения, создайте новую облачную службу здесь, добавьте свой проект. Мне нравится эта опция, потому что сами проекты / роли остаются нетронутыми.

  • То, что предложил Стюарт передо мной, создайте второй облачный проект, настроенный для запуска, и запустите его.

  • Как и выше, создайте второй проект, но не беспокойтесь о запуске.Вы можете щелкнуть правой кнопкой мыши по любому проекту, перейти к Debug и выбрать начать с отладки и добиться того, что F5 делает без привязки F5 к этому решению

Если вам не нужнодля проверки особенностей Azure (т. е. вы просто тестируете роль)

  • Щелкните правой кнопкой мыши по проекту роли, Debug, Начните с отладки Таким образом, остается все решениецелы и вы просто тестируете логику
4 голосов
/ 09 февраля 2011

Я думаю, что вы можете сделать это следующим образом:

  • создать новый облачный проект Azure в своем решении
  • добавить только одну рабочую роль в этот облачный проект
  • установите этот облачный проект в качестве вашего запуска проекта

Это выделит только интересующего вас работника

0 голосов
/ 17 февраля 2011

Более простым решением было бы открыть файл ServiceConfiguration.cscfg и установить для свойства «Instances> Count» значение «0» для всех ролей, которые вы не хотите запускать (это работает только в compute-emulator и НЕ на лазурном облаке).

Таким образом, вы сохраняете свое решение в целости и сохранности своих конфигураций, просто исключая их из эмулятора вычислений во время выполнения.

...