asp.net清除页面缓存防止同时登录

时间:2022-09-03 18:18:30
//清除页面缓存,防止页面回退重复提交数据 在页面里做以下设置就可以使页面的缓存失效,每次都需要获取新页面。

    Response.Cache.SetCacheability(System.Web.HttpCacheability.NoCache);

    /*

    要防止同一用户同时登陆,首页应该记录在线用户的信息(这里与用户名为例),然后判断正在登陆的用户里面是否已存在。

    在这里使用一个cache存放已经登陆的用户名,但是还有一个问题就是要知道用户是什么时候离开系统的呢?这就要定期清除cache中的内容了,也就是设置一个cache的时间。这个时间可以跟用户的session值联系起来,刚好当用户session值失效的时候该用户在cache里面的信息也会被清空。

    这样就达到了防止同时登陆的效果,具体代码如下,放在登陆成功的地方:

    */

    string key = TextBox1.Text; //用户名文本框设为cache关键字

    string uer = Convert.ToString(Cache[key]); //读取cache中用户相应的值

    //判断cache中是否有用户的信息,如果没有相关的值,说明用户未登陆

    if (uer == null || uer == String.Empty)

    {

    //定义cache过期时间

    TimeSpan SessTimeout = new TimeSpan(, , System.Web.HttpContext.Current.Session.Timeout, , );

    //第一次登陆的时候插入一个用户相关的cache值,

    HttpContext.Current.Cache.Insert(key, key, null, DateTime.MaxValue, SessTimeout, System.Web.Caching.CacheItemPriority.NotRemovable, null);

    Session[“ADMINID”] = TextBox1.Text;

    Response.Redirect(“main.aspx”);

    }

    else

    {

    //重复登陆

    Response.Write(“<script>alert(‘您的账号已经登陆!’);window.location='login.aspx';</script>”);

    }

asp.net清除页面缓存防止同时登录的更多相关文章

  1. ASP&period;NET几种清除页面缓存的方法

    在asp.net中使用模式dialog时,你会发现每次打开的页面都是相同的内容,页面内容并没有刷新,这是缓存的原因造成的, 解决方法如下: 第一种是ASP.NET清除页面缓存 Response.Buf ...

  2. vue项目强制清除页面缓存

    异常描述: 支付宝中内嵌h5项目(vue框架开发),前端重新打包上传之后访问页面会导致页面空白.页面tab点击异常之类异常情况,需要手动清除支付宝缓存才可以正常访问. 解决方案: 在HTTP协议中,只 ...

  3. HTML页面每次打开的时候都清除页面缓存

    解决办法为: (1) 用HTML标签设置HTTP头信息 <HEAD> <META    HTTP-EQUIV="Pragma" CONTENT="no- ...

  4. 设置meta标签 清除页面缓存,如:&lt&semi;meta http-equiv&equals;&quot&semi;Cache-Control&quot&semi; content&equals;&quot&semi;no-cache&quot&semi;&sol;&gt&semi;

    <meta http-equiv="Cache-Control" content="no-cache, no-store, must-revalidate&quot ...

  5. html清除页面缓存

    <meta http-equiv="Cache-Control" content="no-cache, no-store, must-revalidate&quot ...

  6. Asp&period;net禁用页面缓存的方法总结

    1.在Asp页面首部<head>加入 复制代码 代码如下:   Response.Buffer   =   True      Response.ExpiresAbsolute   =   ...

  7. Asp&period;net禁用页面缓存的方法

    方法1.在Asp页面首部<head>中添加如下代码 Response.Buffer = True Response.ExpiresAbsolute = Now() - 1 Response ...

  8. asp&period;net mvc 页面缓存

    在任务中需要实现点击浏览器back按钮,加载的前一页面需要强制刷新. 想要在前端通过js来绑定数据实现,但是觉得太麻烦,还是用另一种方式来解决: 不缓存该页面. 简单易懂: Response.Cach ...

  9. ASP&period;net Substitution 页面缓存而部分不缓存的实现方法

    在ASP.NET中要实现部分内容非缓存,而其它的都需要缓存输出,可以使用Substitution控件实现. <%@ Page Language="C#" AutoEventW ...

随机推荐

  1. asp&period;net MVC4——省市三级联动

    controller: public ActionResult GetCity(string id) { AreaService _areaSvc = new AreaService(); List& ...

  2. 【枚举】POJ 3279

    直达–>POJ 3279 Fliptile 题意:poj的奶牛又开始作孽了,这回他一跺脚就会让上下左右的砖块翻转(1->0 || 0->1),问你最少踩哪些砖块才能让初始的砖块全部变 ...

  3. Stack与Queue

    一.Stack的方法 1. public void push(int node)  把项 压入栈顶.其作用与 addElement (node) 相同.   不一定是int,可以是节点 stack.p ...

  4. Ztree插件,定位节点时(focus)不能进入可视区域BUG解决方案

    相关插件版本: jquery.ztree.exedit-3.4.js jquery.ztree.all-3.4.js jquery-1.8.0.js function onAsyncSuccess(e ...

  5. mysql 大小写 整理

    mysql字段的值默认不区分大小写,如果有主键的表,主键列就不能插入重复的值(大小写不同) 实验 默认方式创建 CREATE TABLE `t1` ( `ID` varchar(40) CHARACT ...

  6. ios上比较好用的Cydia插件

    1.iFile查看系统文件 2.KuaiDial归属地数据库 3.KuaiDial电话拨号助手 4.搜狗输入法 Photo Editor 房贷计算器

  7. Ubantu 安装 LAMP环境

    1.通过 apt-get update 命令从ubantu软件源中下载可安装软件的列表. 2.通过一条命令可以一次性的安装LAMP apt-get install apache2 php5 mysql ...

  8. 【html】【10】div布局&lbrack;div水平垂直居中&rsqb;

    必看参考: http://www.jb51.net/css/28259.html 让div居中对齐缩写形式为: .style{margin:0 auto;} 数字0 表示上下边距是0.可以按照需要设置 ...

  9. 列表字体css

    white-space: nowrap; text-overflow: ellipsis; -o-text-overflow: ellipsis; overflow: hidden;

  10. VC6集成开发环境使用参考

    VC6集成开发环境使用参考 1.VC6的常用菜单命令项 (1)File菜单 New:打开“new”对话框,以便创建新的文件.工程或工作区. Close Workspace:关闭与工作区相关的所有窗口. ...