Я слышал, что MVC .NET не имеет гражданства. Каковы последствия этого и почему MVC является апатридом.Является ли ASP.NET MVC без гражданства?
ответ
MVC является апатридом, поскольку HTTP есть. В HTTP нет ничего, что указывает на начало или конец сеанса.
Каждая веб-инфраструктура пытается преодолеть это, используя либо функцию cookie, либо функцию Request/Response, такую как строка запроса или сообщение FORM.
Вы имеете в виду, что все через HTTP является апатридом? WebForms также работает на HTTP. –
@Henk WebForms использует viewstate и POST для поддержания состояния. – Ryan
@HenkHolterman: Да. HTTP не имеет статуса. Нет сеанса. WebForms имитирует сеанс, используя тайм-аут и перенося его информацию по структуре запроса/ответа. Вы никогда не получите уведомление в HTTP, когда пользователь закрывает его веб-браузер/«сеанс». – jgauffin
MVC не является (полностью) без гражданства. Нет веб-структуры.
Я думаю, что это относится к тому, что MVC отменяет поле _VIEWSTATE.
Но дайте ссылку или дополнительную информацию.
Я бы сказал, все веб-связи является лицом без гражданства, за исключением некоторых новых технологий, таких как SignalR [Async signaling library for ASP.NET to help build real-time, multi-user interactive web applications]
.
Вы делаете запрос и получаете ответ, то есть, возможно, то, о чем вы думаете, не использует ViewState, как в webforms.
Интернет не имеет гражданства, поэтому все, что построено на вершине http, является апатридом. Я имею в виду, что каждый запрос/ответ - это атомная единица без знания какого-либо предыдущего запроса.
Есть механизмы с http, которые позволяют удерживать определенную форму состояния между запросами, такими как Session и Application, но в целом они должны использоваться как можно меньше.
Webforms пытается создать иллюзию состояния, введя ViewState и Postback. Но это не меняет того факта, что Интернет не имеет гражданства.
государство управляется в ASP.NET (MVC и WebForms) через several means:
- Session
- Печенье
- Форма сообщений
- Применение
- Строка запроса
- Cache
- Контекст
MVC исключает ViewState, что означает, что элементы управления (текстовые поля, флажки и т. Д.) Теряют свои значения каждый раз, когда страница отправляется назад. Вам необходимо их повторно заполнить вручную или с помощью других средств (например, привязка модели).
MVC на самом деле не является апатридом, но он удаляет один из наиболее распространенных способов сохранения состояния в ASP.NET - ViewState.
- 1. Является ли GraphQL без гражданства?
- 2. Является ли следующий итератор Lua без гражданства?
- 3. Является ли HTTPS государственным или без гражданства?
- 4. В ASP.NET MVC есть контроллер и модель полностью без гражданства?
- 5. Действия являются лицами без гражданства, но являются контроллерами без гражданства?
- 6. Является ли протокол TCP без гражданства или нет?
- 7. Что такое класс без гражданства (в asp.net)?
- 8. Является ли ASP.NET MVC настоящим шаблоном MVC?
- 9. Преимущества программирования без гражданства?
- 10. ASP.NET MVC без ASP.NET?
- 11. Должны ли перечисляемые объекты быть без гражданства?
- 12. выйти без гражданства приложение
- 13. Является ли метод удаления без AntiForgeryToken опасным в ASP.NET MVC?
- 14. Является ли _AppStart.cshtml официальной частью ASP.Net MVC?
- 15. Должен ли BLL быть без гражданства?
- 16. Имеются ли инварианты к объектам без гражданства?
- 17. Может ли CAS быть без гражданства?
- 18. Существуют ли генераторы случайных чисел без гражданства?
- 19. Без гражданства с EJB
- 20. Этот весенний фасол без гражданства?
- 21. Является ли ASP.NET ASP.NET WebForms?
- 22. Является ли asp.net mvc отдельной загрузкой?
- 23. Является ли ASP.NET MVC 2 Bin-развертываемым?
- 24. Является ли ViewState релевантным в ASP.NET MVC?
- 25. clickHandler в компоненте без гражданства?
- 26. ОТДЫХ полностью без гражданства, возможно?
- 27. Относительно принципа «Общайтесь без гражданства»
- 28. Неплохо ли делать ASP.NET MVC без ORM?
- 29. Можно ли использовать MVC без страниц Asp.net?
- 30. Является ли ASP.NET MVC ошибочной реализацией шаблона архитектора MVC?
Возможно, это означало, что он не поддерживает viewstate, как веб-страницы ASP.NET. Это правда. Этот выбор лучше подходит для безгражданности HTTP и, вероятно, он был выбран. Только дизайнеры могут сказать с любым поручителем, хотя я, например, радуюсь этому факту. – tvanfosson
Можете ли вы предоставить дополнительную информацию или ссылки? Поскольку это прямо сейчас, ваш вопрос основан на неизвестном утверждении сомнительного «факта». – 7hi4g0