Веб-сайт ASP.NET или веб-приложение ASP.NET? - PullRequest
818 голосов
/ 29 декабря 2008

Когда я запускаю новый проект ASP.NET в Visual Studio, я могу создать веб-приложение ASP.NET или веб-сайт ASP.NET.

В чем разница между веб-приложением ASP.NET и веб-сайтом ASP.NET? Почему я бы выбрал одно над другим?

Отличается ли ответ в зависимости от того, какую версию Visual Studio я использую?

Ответы [ 25 ]

3 голосов
/ 02 января 2014

WebSite: Он генерирует папку app_code автоматически, и если вы публикуете ее на сервере и после этого, если вы вносите какие-либо изменения в какой-либо конкретный файл или страницу, вам не нужно компилировать все файлы.

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

3 голосов
/ 21 января 2013

Определенно веб-приложение, один файл DLL и прост в обслуживании. Но веб-сайт более гибкий; Вы можете редактировать файл aspx на ходу.

3 голосов
/ 04 июля 2012

В проектах веб-приложений Visual Studio требуются дополнительные файлы .designer для страниц и пользовательских элементов управления. Проекты веб-сайтов не требуют этих накладных расходов. Сама разметка интерпретируется как дизайн.

1 голос
/ 06 января 2016

Here Web Supportive Application is an example of website.

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

0 голосов
/ 12 февраля 2018

Подводя итог некоторым ответам выше:

Гибкость , вы можете вносить живые изменения в веб-страницу?

Веб-сайт : возможно. Pro: краткосрочные выгоды. Против: долгосрочный риск хаоса проекта.

Веб-приложение : Con: невозможно. Отредактируйте страницу, заархивируйте изменения в системе контроля версий, затем создайте и разверните весь сайт. Pro: поддерживать качественный проект.

Вопросы разработки

Веб-сайт : Простая структура проекта без файла .csproj. Две страницы .aspx могут иметь одинаковое имя класса без конфликтов. Случайное имя каталога проекта, приводящее к ошибкам построения, например , почему .net Framework конфликтует с собственным сгенерированным файлом и , почему .net Framework конфликтует с собственным сгенерированным файлом Pro: Простой (упрощенный). Con: ошибочно.

Веб-приложение : Структура проекта аналогична проекту WebForms с файлом .csproj. Имена классов страниц asp должны быть уникальными. Pro: Простой (умный). Против: нет, потому что веб-приложение все еще простое.

...