7 回答
TA贡献1966条经验 获得超4个赞
打开页面,可以开始写,但是,关闭这个页面的时候,服务器是不知道的。除非 设置一个时间段,一段时间不访问这个页面,就认为是关闭了。
app_start app_end session_start session_end
这个只能是 对于一个网站的监控,而对于页面却是无能为力。
TA贡献1802条经验 获得超4个赞
Http是一次请求和回应的过程.web开发,要分清服务端和客户端.
正常情况位于美国的Google服务器是不知道你在中国的浏览器上打开的Google页面关闭的.
一定要实现这个需求可以在客户端页面的关闭事件中发出Ajax请求去关闭写日志的功能.
TA贡献1891条经验 获得超3个赞
我的理解是如果服务端没有响应完,那么IsClientConnected就是true.
Response如果End了,那么IsClientConnected就会是false.
TA贡献1794条经验 获得超7个赞
bool Istrue = true;
int i = 0;
if (Response.IsClientConnected)
{
while (Istrue)
{
i++;
if (Response.IsClientConnected)
{
BusinessBase.Common.Error.LogText("写日志:" + i);//写日志代码...
System.Threading.Thread.Sleep(1000);
}
else
Istrue = false;
}
}
else
{
//执行其他操作
}
试试看,未测试
TA贡献1804条经验 获得超2个赞
要么在关闭前向服务器发送一个Ajax请求,要么客户端的页面在打开之后每隔一小段时间向服务器发送表明自己处在活动状态的Ajax请求,服务器端轮询客户端的状态,没处在活动状态的作相应处理,实时程度取决于那个间隔。
- 7 回答
- 0 关注
- 429 浏览
添加回答
举报