Cela pourrait être un peu difficile - je crois savoir que la configuration de l'état de la session est quelque chose qui s'est passé au niveau IHttpHandler. Avec les gestionnaires personnalisés, vous pouvez spécifier l'état de la session en utilisant des interfaces de marqueur, comme IReadOnlySessionState pour déclarer qu'il n'a besoin que d'un état de session en lecture seule. Vous pouvez essayer d'ajouter cela à votre contrôleur et voir comment il vole. Je suppose que ce ne sera pas parce que les contrôleurs mvc ASP.NET se produisent bien après que le IHttpHandler est câblé, mais ça vaut le coup.
Une autre solution pourrait être d'enrouler les variables d'état de session dans votre propre classe, et d'exposer une version en lecture seule pour appliquer readonly. L'accès à travers plusieurs demandes ne devrait pas poser de problème, mais vous avez raison de dire que vous pouvez obtenir des conditions de concurrence et ainsi de suite si vous essayez d'écrire sur les mêmes variables de session sous plusieurs angles.
double possible de [Etat Désactiver session par demande dans ASP.Net MVC] (http://stackoverflow.com/questions/1464203/disable-session-state-per-request-in-asp -net-mvc) – Liam