ASP.net: проект веб-сайта или веб-приложения

Есть ли разница между проектом веб-сайта и веб-приложений? Что делать, если вы работаете над проектом, который является своего рода гибридом сайта и приложения? какой проект вы должны выбрать?

Ответ 1

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

Я знаю, что фильтры IIS созданы для предотвращения доступа пользователей к вашим файлам .vb или .cs, но это все еще делает меня немного подозрительным.

Но более важным для этого является тот приятный факт, что если вы делаете кучу изменений в кодировке или, возможно, добавляете некоторые классы и меняете логику обработки, единственное, что вам нужно объединить, это скомпилированная библиотека DLL и ничего больше. Аналогично, если вы выполните несколько изменений пользовательского интерфейса (скажем, измените таблицу стилей или позицию нескольких элементов управления), вам не нужно беспокоиться о перекомпиляции приложения, вы просто приносите обновленную страницу .aspx, и все готово.

Ответ 2

Я пошел в новый проект веб-приложения (всегда, независимо от размера проекта).

Нечего терять и все, что можно получить при использовании проекта веб-приложений (вы не можете говорить об использовании только "веб-сайта" ).

Официальный список различий находится здесь:

Использовать проекты веб-приложений, когда вы

  • Необходимо перенести большие приложения Visual Studio.NET 2003
  • Необходимость управляющие имена выходных сборок
  • Нужны автономные классы для справочная страница и пользовательский контроль классы
  • Необходимо создать веб-сайт приложения с использованием нескольких веб-приложений проекты
  • Необходимо добавить предварительную сборку и после сборки в процессе компиляции

Использовать веб-сайты, если вы:

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

@Mehrdad здесь важна, если вы хотите узнать больше http://msdn.microsoft.com/en-us/library/aa730880(VS.80).aspx#wapp_topic5

Ответ 4

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

В моем текущем проекте возникли проблемы с компиляцией, поэтому я переключился на проект webapplication. Шаг не очень сложный. Visual Studio поможет вам изменить все необходимые строки.