社区
C#
帖子详情
C#登录时间的问题
智者潜行
2008-12-03 02:58:24
请问一下,我做了个登录的界面,用户每登录一次,都会记录用户登录的起始时间和结束时间,纪录到数据库,请问一下,起始时间好计算.
但是一个程序的关闭时间是怎么记录进去的.比如,有时候不是正常的退出,要如何计算呢?
或者说用存储过程做也可以.
...全文
417
16
打赏
收藏
C#登录时间的问题
请问一下,我做了个登录的界面,用户每登录一次,都会记录用户登录的起始时间和结束时间,纪录到数据库,请问一下,起始时间好计算. 但是一个程序的关闭时间是怎么记录进去的.比如,有时候不是正常的退出,要如何计算呢? 或者说用存储过程做也可以.
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
16 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
llsen
2008-12-03
打赏
举报
回复
正常情况下
退出时记录
非正常时候,除非像他们说的再做一个监视进程的
然后记录
但本人觉得太麻烦了
我觉得如果非正常退出要记载的话
就在登陆时候
记录开始时间,结束时间都为当前时间
然后退出时更新结束时间
这样保证有数据
如果不为非记录的话
就不记了啊
sunny906
2008-12-03
打赏
举报
回复
登录的时候记录起始时间
Application.Exit()的时候记录结束时间
把起始时间和结束时间写入数据库
wfp5525
2008-12-03
打赏
举报
回复
支持4楼
智者潜行
2008-12-03
打赏
举报
回复
不是网站的,是应用程序
tnchenkui
2008-12-03
打赏
举报
回复
这个问题我也同感..一直找答案
ZM27080401
2008-12-03
打赏
举报
回复
楼上的启发,你可以直接使用timer,lms触发一次tick,把当前时间记录在一个文本里,如XML或是txt(最好不要往数据库里写),当关闭窗体时,写一次数据库,这样也行啊,不过突然掉电,那就不行了,不过可以再重启后,通过一个跟随系统启动就会自己启动的服务帮你最后写这次的日志,当然也可以在第二次启动这个桌面程序时,把这个记录的时间写进数据库里
hds119
2008-12-03
打赏
举报
回复
隔一段时间就像服务器发一个消息,比如给当前时间到表里,下次登录看这时间多长时间没更新了
我是这么做的
个人感觉很雷,有更号的告诉我!
xupeihuagudulei
2008-12-03
打赏
举报
回复
up
xupeihuagudulei
2008-12-03
打赏
举报
回复
up
soaringbird
2008-12-03
打赏
举报
回复
或者不光在登录时记时间,在程序运行中也定时地记录时间,相当于它不停地说:“我还活着”
ZM27080401
2008-12-03
打赏
举报
回复
LZ是做网站吗?如果是网站的话,在Global.asax中写,把session的状态改成 进程中的,然后只要浏览器关闭,会话结束,都可以把这个时间写
进数据库。如果是本地运行桌面程序的话,那就不太好弄了,关注!
拉达曼迪斯II
2008-12-03
打赏
举报
回复
Application.Exit的时候纪录。
sikezx
2008-12-03
打赏
举报
回复
1.可以写在Global.asax文件的
Application_End(Object sender, EventArgs e)
这个方法中
2.先建立一静态全局DataCache, 当用户登录时添加用户初始登录时间和用户到DataCache中, 然后在页面代码中嵌入更新程序(当然要保证这个程序在每个页面中存在), 用于更新用户时间(每20秒或指定时间更新一次).在后台有另一程序检查用户最后一次更新时间和当前时间是否大于20秒, 如果大于,则清该用户, 然后记录在线时间.
3.非正常退出的一般如而是重启电脑或是断电源
你还可以统计在线时间吗?
用Session会话吧, 它的原理:
在客户请求后开始计时, 20分钟(你可以修改)以内,如果没有继续第二次请求, 对该用户就自动结束了
如果有请求,则在下次请求重新计时20分钟
所以,会有些误差
如果你需要统计准确的在线时间的话
可以在页面设置, 每几秒刷新一次
并且将Session超时设置为1分钟
这样, 在Session创立时计时, 结束时再统计总在线时间 就可以了
如果不想页面刷新, 还可以通过AjaX实现
以上就是我知道的方法,你可以试试,或者如果有更好的方法,记得告诉我哦!谢谢了,嘿嘿
dahai99007
2008-12-03
打赏
举报
回复
[Quote=引用 1 楼 soaringbird 的回复:]
正常退出的时候记一下。至于非正常退出,就别管那么多了,做一下区分也可以。Windows直接断电的时候都记不了日志
[/Quote]
有道理
猿敲月下码
2008-12-03
打赏
举报
回复
可以用另外一个软件来监视它,当进程没有时就表示退出了
soaringbird
2008-12-03
打赏
举报
回复
正常退出的时候记一下。至于非正常退出,就别管那么多了,做一下区分也可以。Windows直接断电的时候都记不了日志
一个
C#
做的日记本
这是我的一个用
C#
做的 日记本有vs.net一样的选项卡,一样的界面,代码较多,没什么难度。
C#
Winform锁屏功能(锁当前项目)
超时锁屏功能,前提: 系统为WinForm实现,中有一个主窗体; 1、当用户键鼠无操作超过10分钟,则锁定该系统(当前项目); 2、锁屏后弹出用户
登录
界面,登陆界面两个输入框,用户名、密码(均为simed); 3、锁屏后用户无法对系统其他页面做任何操作,仅能在
登录
界面录入用户名、密码,实现
登录
; 4、登陆成功后,关闭
登录
界面,系统恢复可录入状态; 5、主界面为Winform,一个Richtextbox,能够演示锁屏后无法操作,
登录
后可继续操作即可; 6、
登录
失败则提示“用户名或密码错误”,继续停留在登陆界面,录入的用户名保留,密码框清空,密码框获得焦点; 目前设置30秒就超时。
C#
类库查询手册
C#
类库查询手册 PDF格式,带目录,800页,很全。
C#
实现Windows服务创建、安装
C#
实现Windows服务创建、安装。完全代码实现。对应文章:http://blog.csdn.net/yysyangyangyangshan/article/details/10515035
C#
程序实现自动退出
登录
功能
其次,我们需要考虑用户操作的定义。如果用户进行了这些操作,则说明用户还在活动状态,我们需要重新计时。否则,当一段
时间
内没有用户操作时,我们将触发退出
登录
操作。在
C#
窗体应用程序中,有时候我们希望用户在一段
时间
内没有操作时,自动退出
登录
,以保护用户的隐私和安全。在这里,我们可以执行退出
登录
的操作,例如返回
登录
界面或关闭应用程序。通过以上步骤,我们就可以在
C#
窗体应用程序中实现段
时间
不操作退出
登录
的功能了。当用户一段
时间
内没有进行任何操作时,程序将自动触发退出
登录
操作,以提高用户的隐私和安全保护。
C#
111,130
社区成员
642,542
社区内容
发帖
与我相关
我的任务
C#
.NET技术 C#
复制链接
扫一扫
分享
社区描述
.NET技术 C#
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
让您成为最强悍的C#开发者
试试用AI创作助手写篇文章吧
+ 用AI写文章