.net学习笔记(三)
来源:互联网 发布:python gnu readline 编辑:程序博客网 时间:2024/06/07 05:19
在浏览器上点击任何一个按钮实际为对服务器产生一个新的请求
避免不经验证直接进入主界面(即要在主界面的Page_load中判断是否可以登录)
要记录一个是否登陆的状态可以用到:1.使用session 2.使用cookie 3.使用form验证//这三种主要解决一些数据存储的问题
public partial class A:XXX
{ int i=0//实例变量,存放在服务器端的实例变量
protected void Page_load(object Sender,EventArgs e){ Label1.Text ="0";}
protected void Button_Click(object Sender,EventArgs e){ i++; label1.text=i.tostring();}
//以上两个函数每次有一个新的请求发生时都会被重新加载
}
则页面始终显示为1,因每当一个新的请求过来类A都会被实例化一次即new一个新对象
所以头一步解决措施是用static int i=0;(//存在服务器端的静态变量)但新的问题是如果两个客户端同时访问服务器(即A会被实例化两次)时,i就会出问题了。这就可能发生如果static bool isLogin=false;一旦一个用户登录了,那么其他用户就都不用登陆了。
解决办法:if(page.ispostback){ label1.text="0"; }//这是一个保存在浏览器端的初始化为false一旦页面产生了第一次请求以后就都会为true,即用于判断是否为第一次登陆
用Session来处理
Http只负责传输,不能记录访问状态内容为下一次请求服务
Session存在服务器端,不光存用户的(登录)状态,还存一个SessionID,同时浏览器也会把ID存到cookie里面
Cookie只会在Broswer端存少量数据(有可能在文本文件中,也有可能在内存中)
页面头一次来一个请求,要从服务器相应设置一个cookie,所以用Response.SetCookie(new HttpCookie("useID","1"));
当页面带着cookie再次访问的时候用HttpCookie myCookie = Request.Cookies["userID"];response.write(myCookie.value);
每次请求浏览器都会把本地cookie发送给服务器,默认是浏览器关了,session和cookie都没了,但cookie可以设置有效时间,比如HttpCookie myCookie = new HttpCookie("username", "zhangsan");
myCookie.Expires = DateTime.Now.AddHours(1);
Response.SetCookie(myCookie);
这样cookie就会在1h之后自动清除,1h之内保留着
- .net学习笔记(三)
- ASP.NET学习笔记(三)
- ADO.NET学习笔记(三)
- ADO.NET学习笔记(三)
- ASP.Net 3.5学习笔记(C#)三
- C Sharp与.net学习笔记(三)
- VB.net学习笔记(三)调试
- ADO.NET学习笔记(三)
- VB.Net学习笔记(三)
- 【ASP.Net】学习入门笔记三
- 开发asp.net自定义控件(asp.net学习笔记三)
- 开发asp.net自定义控件(asp.net学习笔记三)
- IBatis.Net学习笔记三--两种常用的DAO
- Spring.NET学习笔记三(log4net的配置)
- Asp.net控件开发学习笔记(三)-控件开发基础
- ASP.NET 学习笔记(三) 委托,异步调用
- Programming .NET Components 2nd 学习笔记(三)
- (学习Asp.net Ajax笔记三)客户端调用WebService
- 测透51汇编 51单片机外部中断模块程序
- 模拟飞翔的小鸟android版 文档二
- 发布模式编译android签名
- 提升工作效率的几个Android Studio插件和工具
- 基于颜色特征提取
- .net学习笔记(三)
- java final修饰成员变量赋值的二种方法
- Swift如何调用Object-C类
- 不稳定排序之选择、快速、希尔以及堆排序
- Win7运行httpd.exe -> ApacheCould not reliably determine the server's fully qualified do main name
- 的境百屯毡姓送屯宜汲荒葡底尉鬃
- 传智播客javase总结 9
- java中的内部类汇总
- java设计模式之-----单例设计模式