我是否在页面事件(例如加载)时使用响应,因为这是来自ASP.NET的响应,并且在按下按钮时请求,因为这是对ASP.NET进行处理的响应?或者还有更多吗?
它们是两个不同的东西,一个是SAVES [Response],另一个是READS [Request]
在Cookie(信息学说话):)你保存一个小文件一段时间,其中包含类型字符串的对象
在.NET框架中,您保存一个cookie:
HttpCookie myCookie = new HttpCookie("MyTestCookie"); DateTime now = DateTime.Now; // Set the cookie value. myCookie.Value = now.ToString(); // Set the cookie expiration date. myCookie.Expires = now.AddMinutes(1); // Add the cookie. Response.Cookies.Add(myCookie); Response.Write("The cookie has been written.");
你写了一个可用一分钟的cookie ...通常我们现在这样做.AddMonth(1)所以你可以保存一整个月的cookie.
要检索cookie,请使用请求(您正在请求),如:
HttpCookie myCookie = new HttpCookie("MyTestCookie"); myCookie = Request.Cookies["MyTestCookie"]; // Read the cookie information and display it. if (myCookie != null) Response.Write(""+ myCookie.Name + "
"+ myCookie.Value); else Response.Write("not found");
记得:
要删除Cookie,没有直接代码,诀窍是保存相同的Cookie名称,其中包含已经过的截止日期,例如now.AddMinutes(-1)
这将删除cookie.
如您所见,每次cookie的生命周期到期时,该文件都会自动从系统中删除.
在Web应用程序中,请求来自浏览器,响应是服务器发回的内容.从浏览器验证cookie或cookie数据时,您应该使用Request.Cookies.当您构建要发送到浏览器的cookie时,您需要将它们添加到Response.Cookies.
在编写cookie时,请使用Response,但阅读可能取决于您的情况.通常,您从请求中读取,但如果您的应用程序试图获取刚刚编写或更新的cookie并且未发生浏览器往返,则可能需要从响应中读取它.
我已经使用这种模式一段时间了,它对我很有用.
public void WriteCookie(string name, string value) { var cookie = new HttpCookie(name, value); HttpContext.Current.Response.Cookies.Set(cookie); } public string ReadCookie(string name) { if (HttpContext.Current.Response.Cookies.AllKeys.Contains(name)) { var cookie = HttpContext.Current.Response.Cookies[name]; return cookie.Value; } if (HttpContext.Current.Request.Cookies.AllKeys.Contains(name)) { var cookie = HttpContext.Current.Request.Cookies[name]; return cookie.Value; } return null; }