Je reçois un comportement génial avec les variables de session avec les pages Razor .cshtml. Essentiellement sur certaines pages, je vérifie si une variable de session est définie, et sinon je la mets. Je continue d'obtenir une référence d'objet nul. Je crois que c'est parce que finalement Razor est conçu pour MVC, et j'ai fait un peu de lecture sur le cycle de vie MVC et apparemment l'objet session est injecté à un point différent dans le lifecyde alors dire webmes asp.net. Donc, lorsque j'essaie de l'utiliser sur mes pages, il n'est pas encore disponible. Donc, ma question serait pour les sites simples basés sur Razor (pas encore MVC, mais qui bouge de cette façon) ce qui serait un moyen efficace de vérifier si une variable de session est définie (comme dire "niveau d'accès") qui est cochée assez souvent. Ce serait la première partie de la question.Webmatrix, Razor et Sessions
La deuxième partie de la question serait de savoir si c'est une mauvaise pratique, que devrais-je faire pour remplacer cette approche?
Nous vous remercions de votre participation.
pouvez-vous ajouter le code pour une page simple qui reprend vos problèmes? – marcind
si mis un simple @ {if (Session ["xxx"]! = Null) {bla bla ...}} Et vous obtiendrez l'erreur de temps en temps (oui casser les lignes). Si j'utilise l'une des méthodes de rendu telles que @RendorPage, les sessions semblent fonctionner correctement sur la page rendue. Encore une fois, je pense que c'est un problème de cycle de vie MVC, je me demandais juste si leur solution est un homme facile/paresseux. Sinon, je me dis que je vais changer la façon dont j'utilise les sessions, ce qui peut être une bonne chose en fonction des alternatives (les cookies cryptés disent pour un), mais c'est un peu décevant. Comme de nouveaux outils, n'aimez pas les anciens. – infocyde
Peut-être que vous devez trouver un scénario plus explicite. De mon point de vue, la session fonctionne. –