我应该在哪里创建并获取我将用于ASP.NET MVC应用程序的Cookie的值?
编辑:我还有一个problem..Now我 想要得到的饼干价值......在 控制器构造......不 让我做,既然HttpRequest的 是空......我不想做到这一点的 每个控制器的行动......因为想 做一次......然后每 动作都可以访问cookie值我应该在哪里创建并获取我将用于ASP.NET MVC应用程序的Cookie的值?
ORIGINAL: 大家好我想创建了一个cookie我的我的asp.net mvc 2.0应用程序的每个用户。所以我尝试在Global.asax的Application_Start()中创建。但它无法访问Response对象。实际上,没有一个常见或索引页面会一直出现,因此我无法在某个着陆页/视图上执行此操作。任何人都可以建议我在哪里可以创建一个cookie?
您应该能够在您的global.asax中使用Application_BeginRequest事件,当请求任何页面时会触发此事件。
嘿,谢谢你的工作,虽然我有另一个问题。现在我想要得到的Cookie值...在控制器构造...不允许我这样做,因为HttpRequest是空的...我不想在每个控制器动作上做...因为只想做一次...然后每个动作都可以访问cookie值.. – Vishal 2010-06-04 15:11:12
@VJ - since该cookie对每个用户都会有不同的值,为什么要在控制器构造函数中访问它?控制器实例对个人用户或会话没有任何作用,并且无法控制何时针对特定会话或请求调用构造函数。 – GalacticCowboy 2010-06-04 15:46:26
关于您的编辑 - 您可以在OnActionExecuting方法中提取cookie值,该方法在每个操作被调用之前调用。
如果所有的控制器从基本控制器继承,有覆盖OnActionExecuting方法,并设置与饼干值(保护)变量 - 然后你所有的控制器操作,可能会读它...
that helps .. :) – Vishal 2010-06-04 20:38:59
我大概可以检查如果响应对象在使用之前为空,然后使用它...任何人都可以让我知道,如果有任何想法.. – Vishal 2010-06-04 14:56:26
这听起来像你需要阅读在ASP.NET中的页面/应用程序生命周期。 http://msdn.microsoft.com/en-us/library/ms178473.aspx – GalacticCowboy 2010-06-04 15:48:21