Чтобы получить некоторое представление, мы использовали веб-формы ASP.NET целую вечность.
Мы также знаем о преимуществах MVC по сравнению с веб-формами, однако в настоящее время отбрасывается альтернативный вариант, который заключается в том, чтобы обойти все эти уровни абстракции и просто перейти с чистой страницы .HTML к службе WCF..
Нет .ASPX, нет .cshtml / .vbhtml, только чистые файлы .HTML, чтобы избежать логики и рендеринга на стороне сервера. Это идея, которую некоторые предлагают, и она становитсяболее привлекательным с HTML5 и его функциями.Способность ориентироваться на большее количество устройств, имея полный контроль над HTML, также является движущим фактором.
Я знаю, что это возможно с технической точки зрения - особенно с jQuery, делающим вещи намного проще - но ябеспокоиться о том, что, отбросив всю абстракцию на стороне сервера (выделение кода в веб-формах, контроллер и привязку к представлению в MVC), мы получим больше сантехники, о которой нам раньше не приходилось беспокоиться
Вопрос сводится к следующему:
- Является ли это действительным беспокойством, и если да, то каким видом сантехники мы можем в итоге заниматься?
- Что именночто мы можем потерять, отбросив всю инфраструктуру ASP.NET в сторону (со стороны веб-приложения) и просто полагаясь на прямую связь с нашим сервисом WCF с чистых страниц HTML?
Примечание: я использовал термин«корпоративный уровень», чтобы подчеркнуть, что это не простое веб-приложение с несколькими страницами, где окончательное решение базовой архитектуры не имеет значения, мы говорим о приложении с большой задницей:)
Редактировать: Чтобы быть еще яснее, основные области, которые вызывают у нас интерес при таком подходе:
Аутентификация и авторизация -> MVC обрабатывает это очень простым способом с помощью атрибутов (например, AuthorizeAttribute ), однако этот «статический» подход означает, что WCF придется обрабатывать токены, шифровать / дешифровать их и решать, какиеo получает возможность делать все самостоятельно, сохраняя всю эту информацию на каждом звонке. Это единственное решение?
Разделение концерна -> MVC четко это делает, и, может быть, я очень хорошо добавлю.Однако этот подход вынуждает вас явно писать в своем HTML, какой вызов функции WCF необходим.Таким образом, не только ваш уровень представления обрабатывает то, что нужно рисовать, он также включает в себя логику того, что вызывать для получения своих данных, и как распределять их на странице.Это может быть не таким уж большим делом, но, напротив, ViewBag в MVC дает вам возможность иметь URL-адреса ваших служб WCF в качестве динамического свойства, то есть логика теперь является частью вашего контроллера, а не вашей HTML-страницы.Изменение этой логики освобождает от необходимости просматривать страницы HTML в целом.
Binding & Validation -> Я поместил эти два в одну корзину, потому что в конечном итоге однаждыСлужба WCF отвечает объектом JSON, содержащим всю информацию, необходимую моей странице для функционирования (включая правила проверки), которые кто-то должен будет привязать к этим элементам управления.
Надеюсь, что идея достаточно ясна, и спасибо заранее.