Проекты веб-сайтов против веб-приложений - что лучше? - PullRequest
9 голосов
/ 12 февраля 2009

Я только начал использовать cms (N2), которая имеет базовую реализацию шаблона с использованием шаблона проекта веб-сайта в vs2008. Я заметил, что при компиляции это занимает гораздо больше времени, чем при использовании проекта веб-приложения, которым я больше пользуюсь.

Мои вопросы:

  1. Почему компиляция занимает больше времени?
  2. Что лучше использовать?
  3. Должен ли я преобразовать его в веб-приложение?

Я прошу прощения, если это дубликат, но я не смог найти похожий вопрос.

Приветствия

Ответы [ 3 ]

10 голосов
/ 12 февраля 2009

Основные различия:

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

Пространства имен - в проекте веб-приложения пространства имен по умолчанию создаются в Проекте веб-сайта , но это не так.

Файлы проекта - Проект веб-сайта не имеет файла "cproj", который имеется у проекта веб-приложения .

Преобразование в проект веб-приложения может оказаться сложнее, чем вы думаете, особенно если вы сильно полагаетесь на папку appcode.

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

Дополнительное чтение от MSDN

1 голос
/ 15 апреля 2010

Я предпочитаю использовать проект веб-сайта поверх веб-приложения. Я в основном полагаюсь на «Просмотр в браузере» для выполнения страницы во время разработки, а не на f5. Я могу оставить окно браузера открытым и изменить код, не закрывая браузер времени выполнения. Обычно, если мне нужно отладить, я присоединяю IDE к соответствующему процессу. По моему опыту, гораздо эффективнее делать это таким образом, чем компилировать и перезапускать приложение каждый раз, когда мне приходится компилировать или вносить изменения. Это увеличивается еще больше, если приложение имеет страницу входа. Необходимость входа в систему исключается при каждом нажатии F5 - если есть способы его настройки. Но предпочтение не в том.

1 голос
/ 12 февраля 2009

В дополнение к информации, предоставленной Крисом, следует также отметить, что для проектов веб-приложений профили недоступны "из коробки":

http://www.codersbarn.com/post/2008/06/01/ASPNET-Web-Site-versus-Web-Application-Project.aspx

Здесь есть обходной путь: http://code.msdn.microsoft.com/WebProfileBuilder

По сути, в проекте веб-приложения нет объекта Profile, автоматически добавляемого на каждую страницу, как в проекте Web-сайта, поэтому мы не можем получить строго типизированный программный доступ к свойствам профиля, определенным в нашем файле web.config.

Энтони: -)

...