怎样在用户关闭页面的时候,改变数据库中用户的在线状态。。(结贴很快)
怎样在用户关闭页面的时候,改变数据库中用户的在线状态?
用户离开页面原来的在线状态由1变为0了。。
------解决方案--------------------mark~~
那用户那断电怎么办?
------解决方案--------------------好象是在Global.asax文件中的protected void Session_End(Object sender, EventArgs e)方法中写对数据库的操作.
------解决方案--------------------1.登陆成功的时候在Global.asax新建一个全局的session,退出的时候在Global.asax的Session_End事件中写事件
2.在文件的Application_End事件中写事件
------解决方案--------------------用Application和Session,结合global.asax文件比较好解决。
抱谦的是:我现在还是个菜鸟,还没亲手实践做过。但基本思路应该是这样的。
------解决方案--------------------不好意思。我的帖子发出来的速度还是比他们慢了两分钟。
------解决方案--------------------1.登陆成功的时候在Global.asax新建一个全局的session,退出的时候在Global.asax的Session_End事件中写事件
2.在文件的Application_End事件中写事件
是真确的方法
------解决方案--------------------关键是关闭页面这个事件怎么判断呢?
------解决方案--------------------void Session_Start(object sender, EventArgs e)
{
// 在新会话启动时运行的代码
}
void Session_End(object sender, EventArgs e)
{
// 在会话结束时运行的代码。
// 注意: 只有在 Web.config 文件中的 sessionstate 模式设置为
// InProc 时,才会引发 Session_End 事件。如果会话模式设置为 StateServer
// 或 SQLServer,则不会引发该事件。
}
------解决方案--------------------没那么及时,B/S不同C/S,在Session_End去改数据库
------解决方案--------------------结贴快也没办法很准确
------解决方案--------------------void Session_Start(object sender, EventArgs e)
{
// 在新会话启动时运行的代码
}
void Session_End(object sender, EventArgs e)
{
// 在会话结束时运行的代码。
// 注意: 只有在 Web.config 文件中的 sessionstate 模式设置为
// InProc 时,才会引发 Session_End 事件。如果会话模式设置为 StateServer
// 或 SQLServer,则不会引发该事件。
}
------解决方案--------------------如果想做的精确还是比较麻烦的~~~~~~~
楼主可以Google一下精确在线人数的做法
一般都是弄个隐藏的Iframe不停的刷
------解决方案--------------------上冇的方法是一种办法`~但如果是用户非法关闭~~那就要等到Session失效事才能进行操作,
function onunload()
{
//这里写改变数据库
}
这个方法也可以~~但也有一个问题~~就是当用户刷新时`~他也会进行操作`~
我想除了这两种方法,就没有其它好的方法了
------解决方案--------------------关注
------解决方案--------------------只能每隔一段时间刷新一次session 来判断是否在线,在网页里设置超时时间
------解决方案--------------------好像不能做的那么精确吧
不国如果是正常推出的话,应该可以在Application_End()内可以做的
------解决方案--------------------貌似没有什么万全的办法~ 总是存在一些问题
------解决方案-------------------- <script language= "javascript " type= "text/javascript ">
<!--
window.onbeforeunload = function()//离开页面事件
{
//你要实现的代码
}
<script>
------解决方案--------------------