zoukankan      html  css  js  c++  java
  • ASP.NET——基础 4、NetSession

     
    1、每次请求来了,都会new一个新的实现了IHttpHandle接口的类页面的实例,进行处理。用完就GC掉,所以 不会保持上次的值。即访问者访问的是不同i的实例。
    private int i=0;
    i++;
    2、所有的访问者都访问的同一个j的实例,即可实现全局变量。
    private static int j=0;
    j++;
    3、Session原理,自己造轮子
      • 用IDictionary<string,IDictionary<string,object>>来存储素有的多个登陆用户的数据
    IDictionary<string,IDictionary<string,object>> data=new Dictionary<string,IDictionary<string,object>>();
    if(data.ContainsKey(sessionID))
    {
        return data[sessionID];
    }
    else
    {
        IDictionary<string,object> session=new Dictionary<string,object>();
        data[sessionID]=session;
        return session;
    }
    • 每次读取客户端提交来的Cookie,若发现Cookie中无SessionID:(Key),给客户端生成一个Guid,把Guid写入客户端Cookie,来标示身份。
    • 在服务端生成一个Guid对应的容器,容器里放多个Key-Value。
    • 取的时候,读客户端提交来的Cookie中的Guid,找到其在服务器对应的容器。
    4、Session有超时。(应用Ajax每隔十分钟骚扰下服务器,告诉服务器自己还活着。)需要定时销毁。
    5、ASP.NET内置有Session,内置Session的ID自动分配,只用复制与取值。在Cookie中叫做ASP.NET_SessionId。
    6、Session不能放太大的数据,格式是object
  • 相关阅读:
    如何用meavn构建mahout项目
    项目分析:对于7种图书推荐算法的组合评测
    项目实战:Mahout构建图书推荐系统
    Mahout推荐算法API详解
    9. Palindrome Number
    26. Remove Duplicates from Sorted Array
    575. Distribute Candies
    单链表的逆置
    回文串的判断
    回文判断(一个栈是不是回文)
  • 原文地址:https://www.cnblogs.com/msdynax/p/2849290.html
Copyright © 2011-2022 走看看