代码语言
.
CSharp
.
JS
Java
Asp.Net
C
MSSQL
PHP
Css
PLSQL
Python
Shell
EBS
ASP
Perl
ObjC
VB.Net
VBS
MYSQL
GO
Delphi
AS
DB2
Domino
Rails
ActionScript
Scala
代码分类
文件
系统
字符串
数据库
网络相关
图形/GUI
多媒体
算法
游戏
Jquery
Extjs
Android
HTML5
菜单
网页交互
WinForm
控件
企业应用
安全与加密
脚本/批处理
开放平台
其它
【
Asp.NET
】
规定时间内,将浏览次数增加且只增加一次
作者:
/ 发布于
2016/4/7
/
592
假设问题:10分钟之内只能增加一次(程序的核心) 问题背景:10分钟之内点击一个带资源ID值的链接,增加一次浏览次数写入数据库 可以判断的条件有: 每点击一次设置一个session,其值和键为刚才点击的资源ID 分析:10分钟由cookie的过期时间设定(过期了即为空) 没过期的时候(不为空时)增加一次 1次由session的keys属性(集合类型)是否已经包含(将keys集合添加到泛型列表List<string>,然后调用string暴漏的Contains方法)刚才的资源ID决定:已经包含,不增加次数;不包含,则增加一次 技巧:cookie和session的键都是圈子ID 总结:增加1的情况 { cookie不为空,session不包含圈子ID ; 判断前给cookie赋值,判断后给session赋值 } protect void UpdateViewNum(string SourceID) { List<string> sessionKeys = new List<string>(); for (int i = 0; i < Session.Keys.Count; i++) { sessionKeys.Add(Session.Keys.Get(i)); //获得每个键添加到泛型列表中,以调用Contains方法判断刚才是否有点击过 } Resposne.Cookies[SourceID].Value = SourceID; Resposne.Cookies[SourceID].Expires = DateTime.Now.AddMinutes(10);//设置cookie过期时间 if (!sessionKeys.Contains(SourceID) && Request.Cookies[SourceID] != null) { Session[resGuid] = resGuid; 类的实例.UpdateVisitNum(resGuid); 类的实例.InsertBaseStatistics(……Convert.ToInt32(SourceID)); } }
试试其它关键字
同语言下
.
gzip压缩
.
实现http多线程断点续传下载文件
.
实现多线程断点续传下载大文件
.
生成字符串的 CheckSum
.
根据 UserAgent 获取浏览器的类型和版本
.
根据 Agent 判断是否是智能手机
.
隐藏手机号中间四位为*方法
.
合并图片(二维码和其他图片合并)
.
ASP.NET CORE中判断是否移动端打开网页
.
ASP.NET(C#)实现页面计时(定时)自动跳转
可能有用的
.
gzip压缩
.
实现http多线程断点续传下载文件
.
实现多线程断点续传下载大文件
.
生成字符串的 CheckSum
.
根据 UserAgent 获取浏览器的类型和版本
.
根据 Agent 判断是否是智能手机
.
隐藏手机号中间四位为*方法
.
合并图片(二维码和其他图片合并)
.
ASP.NET CORE中判断是否移动端打开网页
.
ASP.NET(C#)实现页面计时(定时)自动跳转
贡献的其它代码
Label
Copyright © 2004 - 2024 dezai.cn. All Rights Reserved
站长博客
粤ICP备13059550号-3