ASP.NET MVC est-il apasortingde?

J’ai entendu dire que MVC .NET est sans état. Quelles en sont les implications et pourquoi MVC est-il apasortingde?

MVC est sans état parce que HTTP est. Il n’y a rien dans HTTP qui indique le début ou la fin d’une session.

Chaque infrastructure Web tente de remédier à cette situation en utilisant un cookie ou des fonctionnalités de requête / réponse telles que la chaîne de requête ou la publication FORM.

State est géré dans ASP.NET (MVC et WebForms) de plusieurs manières:

  • Session
  • Biscuits
  • Messages de formulaire
  • Application
  • Chaîne de requête
  • Cache
  • Le contexte

MVC élimine ViewState, ce qui signifie que les contrôles (zones de texte, cases à cocher, etc.) perdent leurs valeurs chaque fois qu’une page est postée. Vous devez les repeupler manuellement ou par d’autres moyens (liaison de modèle, par exemple).

MVC n’est pas vraiment sans état, mais il supprime l’un des moyens les plus courants de persistance de l’état dans ASP.NET – ViewState.

MVC n’est pas (totalement) apasortingde. Aucun framework web n’est.

Je pense que cela fait référence au fait que MVC supprime le champ _VIEWSTATE.

Mais fournissez un lien ou plus d’informations.

le web est sans état, donc tout ce qui est construit sur http est sans état. par sans état, je veux dire que chaque requête / réponse est une unité atomique sans aucune connaissance d’une requête précédente.

Il existe des mécanismes avec http qui vous permettent de conserver une forme d’état entre les requêtes, telles que Session et Application, mais elles doivent généralement être utilisées le moins possible.

Les formulaires Web tentent de créer l’illusion d’état en introduisant ViewState et Postback. Mais cela ne change pas le fait que le Web est apasortingde.

Je dirais que toutes les communications Web sont sans état, à l’exception de certaines des nouvelles technologies telles que SignalR [Async signaling library for ASP.NET to help build real-time, multi-user interactive web applications] .

Vous faites une demande et obtenez une réponse, c’est-à-dire que vous ne songez peut-être pas à utiliser ViewState comme dans les formulaires Web.