c# – 读/写Cookies
我今天加入了这个网站,希望有人能够向我解释我在ASP.NET中做错了什么.
如果我的问题太基础,我仍在学习如此教学,但我无法在谷歌上找到答案.我找到的每个答案都显示了我已经拥有的代码. 我正在尝试创建和阅读cookie,我已将此代码放在我的应用程序构造函数中.这是我尝试初始化我的cookie并将其添加到浏览器的方式. 的global.asax.cs public MyApplication() { myCookie = new HttpCookie("UserSettings"); myCookie.Value = "nl"; myCookie.Expires = DateTime.Now.AddDays(1d); Response.Cookies.Add(myCookie); } HomeController.cs中的一个方法(试图读取cookie) public void setLang(string lang) { HttpCookie myCookie = Request.Cookies["UserSettings"]; myCookie.Value = lang; //rest of method 我在Response.Cookies.Add(myCookie)收到错误; 我的想法是,我可能忘记导入命名空间或其他东西,但我没做什么似乎解决了这个错误,有人能指出我正确的方向吗? 解决方法
您不能使用Global.asax构造函数向Response添加cookie,因为在应用程序开始处理HTTP请求之前调用了Global.asax构造函数.
将代码从Global.asax构造函数移动到Application_BeginRequest方法: public void Application_BeginRequest() { myCookie = new HttpCookie("UserSettings"); myCookie.Value = "nl"; myCookie.Expires = DateTime.Now.AddDays(1d); Response.Cookies.Add(myCookie); } Global.asax有许多不同的事件被触发,你只是错误地选择了. > Application_Init:第一次初始化应用程序时触发. (自http://en.wikipedia.org/wiki/Global.asax起) (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |