почему два окна проводника открываются из Visual Studio в проекте Azure, когда я нажимаю клавишу F5 - PullRequest
3 голосов
/ 08 апреля 2011

Когда я нажимаю клавишу F5, чтобы запустить проект Azure, содержащий две рабочие роли и веб-роль. Он открывает два окна с одним и тем же URL-адресом, и для их открытия также требуется много времени.

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

Может ли какое-нибудь тело помочь мне?

Ответы [ 4 ]

1 голос
/ 08 апреля 2011

Попробуйте использовать последнюю версию Azure SDK v1.4.В предыдущих версиях SDK возникали некоторые проблемы с производительностью при локальном запуске службы.Что касается проблемы с двумя открытыми окнами, это может произойти, потому что вычисления и эмулятор хранилища были запущены вручную на локальном компьютере, а не в Visual Studio.По крайней мере, в моем случае это была проблема.После закрытия приложения, компьютера, эмулятора хранилища и повторного запуска приложения (F5) все должно быть в порядке.

1 голос
/ 08 апреля 2011

Запуск проекта Azure занимает больше времени просто потому, что он выполняет больше задач. Просто для начала, каждый раз, когда вы нажимаете клавишу F5, он создает и настраивает новый пул приложений для каждой роли, а затем создает и настраивает новые веб-сайты для каждого экземпляра роли.

Я обнаружил, что иногда запускать сайты намного быстрее, нажимая Ctrl + F5 (то есть запускать без отладки). Затем вы можете присоединиться к своему процессу вручную, но вы можете вносить изменения во многие файлы без повторного развертывания ролей. Это особенно полезно, если вы изменяете что-то, что не требует перестройки ваших двоичных файлов.

По другому вопросу вы можете контролировать запуск браузеров для конечных точек HTTP и HTTPS, используя вкладку Конфигурация свойств роли. Просто снимите флажки с конечных точек, на которых вы не хотите запускать свой браузер.

0 голосов
/ 08 апреля 2011

Я видел, как это происходило и раньше.

Однако есть способ обойти это. Вы можете отредактировать ServiceConfiguration.cscfg для своей веб-роли и установить количество экземпляров равным 0. Затем установите собственное веб-приложение в качестве запускаемого проекта вместо веб-роли Azure. Это позволит вам использовать Cassini / IIS Express вместо Compute Emulator для разработки вашего веб-приложения.

ПРИМЕЧАНИЕ. При развертывании вам нужно будет установить число экземпляров на единицу больше единицы.

<ServiceConfiguration serviceName="Web" xmlns="http://schemas.microsoft.com/ServiceHosting/2008/10/ServiceConfiguration" osFamily="2" osVersion="*">
  <Role name="WebRole1">
    <Instances count="0" />
    <ConfigurationSettings>
      <Setting name="LogLevel" value="Error" />
    </ConfigurationSettings>
  </Role>
</ServiceConfiguration>

ТАКЖЕ ПРИМЕЧАНИЕ. Некоторые функции, которые вы не сможете протестировать, запустив такой сайт, как этот. Одним из примеров является локальное хранилище. Если вы используете подобные функции в своем приложении, вы можете просто переключить конфигурацию и запустить проект обратно.

Вы также заметите огромное увеличение скорости, когда нажмете F5 для отладки приложения.

0 голосов
/ 08 апреля 2011

Я видел, как это случилось с Chrome и Firefox.Это не происходит с IE.Извините, я не могу объяснить, почему.

...