2010-06-04 20 views
1

EDIT: J'ai une autre problem..Now Je veux obtenir la valeur des cookies ... dans constructeur de contrôleurs ... ne me permettre de faire que depuis HttpRequest est nul ... Je ne veux pas de le faire sur chaque action du contrôleur ... depuis veulent pour le faire qu'une seule fois ... et chaque action peut accéder à la valeur du cookieOù dois-je créer et obtenir la valeur d'un cookie que je vais utiliser pour mon application ASP.NET MVC?

ORIGINAL: Salut tout ce que je veux créer un cookie pour la chacun des utilisateurs de mon application asp.net mvc 2.0. J'ai donc essayé de créer dans Application_Start() du global.asax. Mais il n'a pas accès à l'objet Response. En fait, il n'y a pas une page commune ou d'index qui sera frappée tout le temps et donc je ne suis pas capable de le faire sur une page d'atterrissage/vue. Quelqu'un peut-il me suggérer où je peux créer un cookie?

+0

Je peux probablement vérifier si l'objet Response est null avant de l'utiliser et que vous l'utilisez ... n'importe qui me fait savoir s'il y a des idées sur ce sujet .. – Vishal

+0

Il semble que vous ayez besoin de lire le cycle de vie de la page/application dans ASP.NET. http://msdn.microsoft.com/en-us/library/ms178473.aspx – GalacticCowboy

Répondre

2

Vous devriez pouvoir utiliser l'événement Application_BeginRequest dans votre global.asax, cet événement est déclenché lorsqu'une page est demandée.

+0

Hey merci cela fonctionne bien que j'ai un autre problème .. Maintenant, je veux obtenir la valeur des cookies ... dans le constructeur de contrôleurs ... ne pas permettez-moi de le faire puisque HttpRequest est Null ... Je ne veux pas le faire sur chaque action du contrôleur ... depuis que je veux le faire une seule fois ... et puis chaque action peut accéder à la valeur cookie .. – Vishal

+0

@VJ - depuis le cookie aura une valeur différente pour chaque utilisateur, pourquoi voudriez-vous y accéder dans le constructeur du contrôleur? Une instance de contrôleur n'a * rien * à faire avec un utilisateur ou une session, et vous n'avez aucun contrôle sur le moment où le constructeur est appelé par rapport à une session ou une requête particulière. – GalacticCowboy

1

En ce qui concerne votre modification - vous pouvez extraire la valeur des cookies dans la méthode OnActionExecuting, qui est appelée avant chaque action est appelée.

Si tous vos contrôleurs héritent d'un contrôleur de base, remplacer la méthode de OnActionExecuting là et définir une variable (protégée) avec la valeur de cookies - toutes vos actions de contrôleur pourrait alors lire ...

+0

qui a aidé .. :) – Vishal