Как можно более продуктивно создавать приложения MVC C #? - PullRequest
3 голосов
/ 31 августа 2011

Я относительно новый разработчик C #, и я считаю, что примерно на 1/5 я считаю, что продуктивная сборка приложений C # MVC в VS 2010 примерно на 1/5 выше, чем я делал это ранее в Zend, используя php вручную, используя vim * 1002.*.

Я работаю в итеративном цикле записи тестов / записи кода / запуска тестов / интеграции и отладки проблем.

Этот последний шаг включает создание кода с использованием Visual Studio, отладка> присоединение кprocess> w3wp.exe, а затем посещение http://localhost/App/ (локальная копия IIS 7.5) и запуск некоторого события / etc, запускающего отладчик VS.

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

Это невероятно медленно.

Компиляция приложения занимает, возможно, 2 секунды, но первая загрузка в отладчике занимает около 60-80 секунд.Выключение отладчика немного увеличивает скорость, но незначительно.

В моей копии IIS нет ничего особенного;он просто настроен для локального обслуживания каталога проекта из проекта visual studio.

Моя машина не фантастическая, это дуэльное ядро ​​3.0 ГГц, работающее под управлением Windows 7 с 4 ГБ оперативной памяти ... но это всего лишьвне шутки.Я трачу больше времени, уставившись на экран, ожидая, пока IIS сделает что-то , чем я пишу код.

Последующие загрузки страниц, очевидно, очень быстрые, вы знаете, мгновенные загрузки страниц.

Проблема, я полагаю, заключается в том, что IIS должен запускать запуск приложения и загружать файлы и делать все, что он делает с работником пула приложений, когда я перекомпилирую, что означает, что первоначальный запуск происходит медленно (IOC, файлы веб-конфигурациии т. д.).

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

Что я делаю не так?

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

Ответы [ 2 ]

3 голосов
/ 31 августа 2011

Я думаю, что большинство людей используют встроенный сервер разработки Visual Studio (IIS-like).Если вы используете SP1, вы также можете использовать IIS Express, который является более надежным для больших и / или мульти / кросс-веб-приложений.

Щелкните правой кнопкой мыши свое веб-приложение -> Свойства -> Веб-вкладка, чтобы выбрать сервер отладки..

1 голос
/ 31 августа 2011

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

Некоторые другие советы, которые могут быть полезны, даже если они не решают корень проблемы.проблема:

  • Использование встроенного сервера разработки, как предлагает Эрик.
  • Если вы только изменили шаблоны, вам не нужно перезапускать с нуля.
  • Если у вас есть хорошие модульные тесты, вам вообще не нужно запускать веб-приложение.
  • Есть ли в IIS 7.5 пулы приложений?Если да, вы можете перезапустить только пул приложений, что намного быстрее, чем перезапуск всего IIS.

PS. Я видел довольно странные поведения при открытии соединений с базой данных, если сеть настроенав плохом смысле.Даже если он находится на локальной машине, у вас могут быть странные DNS-запросы или что-то подобное.Просто как дополнительная подсказка о том, что искать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...