我正在使用VSTS 2008
+ C#
+ .Net 3.5
开发ASP.Net
应用程序。在客户端,为了使会话保持活动,我将每隔5秒刷新一次服务器。这是我在客户端的代码,服务器端Default.aspx什么都不做 - 唯一的目的是让客户端保持活着。
<html>
<head>
<meta http-equiv="refresh" content="10" />
<iframe src="http://localhost:20000/Default.aspx" width="1" height="1" />
</head>
<body />
<html>
我监控了流量,发现每次客户端都会向服务器端发送几个标头。任何减少服务器负载或流量的想法?如果客户端数量很大,恐怕服务器工作量会大幅增加。
这是我监控的请求和响应标头,
请求标题
连接:保持活动接受: / 接受编码:gzip,deflate Accept-Language:en-us主机:localhost:20000 User-Agent: Mozilla / 4.0(兼容; MSIE 8.0; Windows NT 6.0; Trident / 4.0; SLCC1; .NET CLR 2.0.50727; .NET CLR 1.1.4322; InfoPath.2; .NET CLR 3.5.21022; CIBA; .NET CLR 3.5.30729; MS-RTC LM 8; .NET CLR 3.0.30729; OfficeLiveConnector.1.4; OfficeLivePatch.1.3)
回复标题
服务器:Microsoft-IIS / 7.0
答案 0 :(得分:2)
第一个问题是:为什么你认为你必须让客户活着?这个目的是什么?
马克
答案 1 :(得分:2)
如果你要手动保持会话活动,那么你最终会遇到同样的问题以及你现在试图解决的问题。
如果你真的想尝试让你的应用程序更难以根据会话信息进行攻击(大多数网络银行认为没有理由除了在10分钟之后强制进行定位),你可以改变逻辑。如果客户端回复终止可以取消,则让服务器通知客户端会话将被终止。 (这可以在JavaScript客户端完成,因此如果浏览器已经关闭,则不会有回复)