Приложение ASP.net против веб-сервера, доставляющего HTML в браузер - PullRequest
0 голосов
/ 26 января 2010

Помимо богатого массива элементов управления (я знаю, что это большая часть), в чем заключается основное отличие, скажем, приложения C #, размещенного на веб-сервере, который доставляет HTML в браузер, и решения ASP.net. Допустим, для этого примера мы включили в HTML некоторый javascript, чтобы позволить некоторую обработку на стороне клиента - это делает эти два метода еще более похожими, не так ли?

Я уверен, что с ASP.NET есть много удобств, но суть "процесса веб-сервера, взаимодействующего с клиентом через HTML", одинакова, правда?

Причина, по которой я спрашиваю, заключается в том, что мне нужно доставить что-то в этом духе, и я не знаю, как сидеть на корточках в ASP. NET ... на тот случай, если вы еще не поняли.

спасибо.

Ответы [ 7 ]

4 голосов
/ 26 января 2010

Я думаю, что вы, возможно, ошибаетесь: я не знаю практического способа написания не -ASP.NET C # приложения, которое работает на веб-сервере и доставляет HTML в браузер. Обратите внимание, что я говорю практический способ: вы могли бы написать HttpHandler или HttpModule, который обрабатывает все взаимодействие, но вы бы заново изобретали колесо.

ASP.NET предлагает (не полный список):

  • ViewState (автоматическое сохранение состояния управления)
  • Механизмы авторизации / аутентификации
  • Состояние сеанса и приложения
  • «Управляемый» жизненный цикл рендеринга страницы
  • Встроенные «примитивные» элементы управления (текстовое поле, раскрывающийся список и т. Д.)
  • Базовые классы для пользовательских серверных элементов управления
  • Пользовательские элементы управления: то есть Login.ascx (многократно используемые "составные" элементы управления)
  • Модель событий для обратных передач
  • Конфигурация в полете (web.config) позволяет изменять конфигурацию во время работы приложения
2 голосов
/ 26 января 2010

Разница в том, что вам понадобится в 100 раз больше времени на написание приложения для обслуживания HTML, ответа на события, обработки обратных передач, обеспечения всей функциональности ASP.NET и т. Д., Чем потребуется любому чтобы выучить ASP.NET

Если вы знаете C # или VB.NET, подобрать ASP.NET очень просто. В отличие от .NET MVC, который был разработан для гораздо более низкого уровня управления, ASP.NET был спроектирован как среда для переноса разработчиков из winforms с очень небольшим сопротивлением.

1 голос
/ 26 января 2010

Слишком много отличий, чтобы дать хороший обзор.

Вот страница ASP.NET на WikiPedia, которая должна дать вам хороший обзор того, что такое ASP.NET.

По сравнению с HTML, у меня в голове есть пара вещей:

  • Невозможно подключиться к базе данных с HTML
  • Вы не можете создавать шаблоны страниц и изменять содержимое на лету
  • Изменение набора связанных страниц может быть сделано в одном месте в ASP.NET, вам придется обновить большое количество страниц HTML, чтобы сделать то же самое.
1 голос
/ 26 января 2010

Самое большое отличие состоит в том, что то, что вы, вероятно, пытаетесь сделать, используя прямой C #, легко сделать в ASP.Net, написанном на C #. Я бы порекомендовал ознакомиться с некоторыми учебными пособиями, которые можно найти по адресу http://www.asp.net/learn/, чтобы освоить ASP.Net, прежде чем пытаться изобретать велосипед. Помните, что кто-то другой, вероятно, должен будет позаботиться о коде, если он предназначен для компании, и есть вероятность, что он будет знать asp.net, но не вашу собственную попытку создать его с нуля.

0 голосов
/ 26 января 2010

Существует также возможность отсутствия разницы. Можно создать «Веб-приложение» в Visual Studio, использующее ASP.Net и C #, которое доставляет клиенту HTML в качестве возможного ответа.

Я хотел бы отметить, что это подразумевает определенную интерпретацию того, что подразумевается под "приложением C #", поскольку на ум приходят несколько разных, таких как приложение Windows, консольное приложение и веб-приложение.

0 голосов
/ 26 января 2010

Если у вас будет несколько пользователей приложения, используйте ASP.NET. Мало того, что будет легче развертывать обновления, но вы также увеличите свои навыки, познакомившись с программированием для Интернета. ASP.NET не так сложно подобрать в любом случае. Особенно, если вы уже знакомы с программированием WinForms. И кроме того, у тебя ТАК, когда ты в тупике.

0 голосов
/ 26 января 2010

Я не знаю ни C #, ни ASP.NET, но в принципе не имеет значения, что вы запускаете на стороне сервера. В результате получается набор инструкций HTML и JavaScript, а затем возвращается обратная связь с пользователем, которая затем обрабатывается. Вы можете запрограммировать эту функцию на ассемблере или COBOL, если хотите.

Большая разница в платформах заключается в том, что ASP.NET и любая другая платформа для веб-разработки предоставляют множество готовых инструментов для решения классических проблем, возникающих при создании веб-приложения - чего, вероятно, нет в базовом C #. (Обновление: @Dave Swersky перечисляет ряд таких классических проблем в своем ответе.)

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