Asp.net MVC4 记录在线用户数及登录时长
Global.asax.cs文件
public class MvcApplication : System.Web.HttpApplication
{
/// <summary>
/// 全局事件开始
/// </summary>
protected void Application_Start()
{
AreaRegistration.RegisterAllAreas(); WebApiConfig.Register(GlobalConfiguration.Configuration);
FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters);
RouteConfig.RegisterRoutes(RouteTable.Routes);
BundleConfig.RegisterBundles(BundleTable.Bundles);
Application.Lock();
Application["online"] = ;
Application.UnLock();
}
/// <summary>
/// 全局事件结束
/// </summary>
protected void Application_End()
{ }
/// <summary>
/// 单个用户事件开始
/// </summary>
protected void Session_Start()
{
Application.Lock();
int online = (int)Application["online"];
Application["online"] = online + ;
Session["LoginDate"] = DateTime.Now;
Application.UnLock();
}
/// <summary>
/// 单个用户事件结束
/// </summary>
protected void Session_End()
{
Application.Lock();
int online = (int)Application["online"];
Application["online"] = online - ;
Application.UnLock();
}
}
Controller
[HttpPost]
public string LoginCheck()
{
if (Session["LoginDate"] == null)
{
Session["LoginDate"]=DateTime.Now;
return "登录超时!";
}
DateTime loginDate = Convert.ToDateTime(Session["LoginDate"]);
TimeSpan ts = DateTime.Now - loginDate; //记算当时间时与Session中保存的时间差
string str = string.Format("已经登录{0}天{1}小时{2}分{3}秒", ts.Days, ts.Hours, ts.Minutes, ts.Seconds); //格式化输出
return str;
}
Html
<span id="online"></span>
<span id="LoginInfo"></span>
jQuery
<script type="text/javascript">
$(function () {
AjaxHtml();
});
function AjaxHtml() {
LoginCheck();
OnLineCheck();
setInterval(function () {
LoginCheck();
}, 10000);//登录时间显示每10秒更新一次
setInterval(function () {
OnLineCheck();
}, 60000);//在线人数每60秒更新一次
}
function LoginCheck() {
$.post('/LoginInfo/LoginCheck', {}, function (result) {
$("#LoginInfo").html(result);
});
}
function OnLineCheck() {
$("#online").html('在线人数 <span style="color:red;">@System.Web.HttpContext.Current.Application["online"]</span>');
}
</script>
Asp.net MVC4 记录在线用户数及登录时长的更多相关文章
- 从零开始实现asp.net MVC4框架网站的用户登录以及权限验证模块 详细教程
从零开始实现asp.net MVC4框架网站的用户登录以及权限验证模块 详细教程 用户登录与权限验证是网站不可缺少的一部分功能,asp.net MVC4框架内置了用于实现该功能的类库,只需要简单搭 ...
- ASP.NET MVC4中使用bootstrip模态框时弹不出的问题
最近发现使用在MVC中使用bootstrip的模态框时弹不出来,但单独建立一HTML文件时可以弹出,说明代码没有问题,经过多次测试发现,在MVC的cshtml文件中添加上以下语句就能正常 @{ Lay ...
- asp.net mvc4 HTTP Error 403.14
asp.net mvc4项目部署到II&上时,出现HTTP Error 403.14 - Forbidden - The Web server is configured to not lis ...
- asp.net mvc4 过滤器的简单应用:登录验证
直接上代码,不要说话. ASP.NET MVC4过滤器的简单应用:验证登录 [AcceptVerbs(HttpVerbs.Post)] public ActionResult login(FormCo ...
- 构建ASP.NET MVC4+EF5+EasyUI+Unity2.x注入的后台管理系统(19)-权限管理系统-用户登录
原文:构建ASP.NET MVC4+EF5+EasyUI+Unity2.x注入的后台管理系统(19)-权限管理系统-用户登录 我们之前做了验证码,登录界面,却没有登录实际的代码,我们这次先把用户登录先 ...
- ASP.NET MVC4简单使用ELMAH记录系统日志
ASP.NET MVC4简单使用ELMAH记录系统日志 前言 在项目开发.测试以及已经上线的项目中都会存在bug,而如果我们在项目的各个阶段都能及时的监控系统出现的任何问题,那么对于我们开发人员来说完 ...
- 初入码田--ASP.NET MVC4 Web应用开发之一 实现简单的登录
初入码田--ASP.NET MVC4 Web应用之创建一个空白的MVC应用程序 初入码田--ASP.NET MVC4 Web应用开发之二 实现简单的增删改查 2016-07-24 一.创建T4模板,建 ...
- asp.net mvc4 登录界面
说明:开发环境 asp.net mvc4 c#语言 1.项目目录结构 2.Login控制器中 public ActionResult Index() { return View(); } 对应Inde ...
- ASP.NET MVC4 学习记录
之前在学习Artech的<ASP.NET MVC4框架揭秘>一书,学习过程中画了ASP.NET MVC4框架的草图,方便记忆.
随机推荐
- iOS 管理库 Carthage 安装以及使用
https://blog.csdn.net/Mazy_ma/article/details/70185547
- cannot convert from 'wchar_t *' to 'char *' 问题
MFC中使用unicode 会导致cstring之间的转换变的很复杂 经常遇到这样的错误cannot convert from 'wchar_t *' to 'char *' 强制转换成wchar_t ...
- Halcon的一维条码解码步骤和解码技巧
一.图像预处理和条码增强 对比度太低:scale_image(或使用外部程序scale_image_range),增强图像的对比度. 图像模糊:emphasize锐化图像,使条码看起来更清晰. 深色背 ...
- Linux ldconfig命令
一.简介 ldconfig是一个动态链接库管理命令,为了让动态链接库为系统所共享,还需运行动态链接库的管理命令--ldconfig. ldconfig 命令的用途,主要是在默认搜寻目录(/lib和/u ...
- 解压查看二进制rpm包的方法
详细参考: man cpio 具体方法: rpm2cpio qt5-qtbase-5.6.0-13.fc21.x86_64.rpm | cpio -dium 执行后可在当前目录查看 安装目录 etc ...
- 将Win7笔记本设置成WiFi热点(无线路由器)
查看是否能启动WiFi网卡: S1:运行cmd命令,打开命令提示符窗口(以管理员身份运行). S2:在命令行输入:netsh wlan show drivers. 若“支持的承载网络”后为“是”,则可 ...
- Mockplus推出真正无限制终身版,做原型就要一辈子!
如今提到原型工具,各位设计师和PM爸爸们一定不会对Mockplus感到陌生吧?事实上,从一开始的默默无闻,到在UXPA大赛上崭露头角,再到被Adobe XD 列为主要竞品,如今,摩客君已经在全球范围内 ...
- wpf 进度条 下拉
<Window x:Class="WpfApplication1.MainWindow" xmlns="http://schemas.microsof ...
- sql中 in 、not in 、exists、not exists 用法和差别
% 的一类. NOTIN:通过 NOTIN 关键字引入的子查询也返回一列零值或更多值. 以下查询查找没有出版过商业书籍的出版商的名称. SELECT pub_name FROM publishers ...
- 抓包之网络分析器- Wiresshark
https://www.wireshark.org/ Wireshark(前称Ethereal)是一个网络封包分析软件.网络封包分析软件的功能是撷取网络封包,并尽可能显示出最为详细的网络封包资料.Wi ...