有什么想法来优化ASP.Net服务器负载?

时间:2009-07-26 09:04:43

标签: c# asp.net .net http visual-studio-2008

我正在使用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

2 个答案:

答案 0 :(得分:2)

第一个问题是:为什么你认为你必须让客户活着?这个目的是什么?

马克

答案 1 :(得分:2)

如果你要手动保持会话活动,那么你最终会遇到同样的问题以及你现在试图解决的问题。

如果你真的想尝试让你的应用程序更难以根据会话信息进行攻击(大多数网络银行认为没有理由除了在10分钟之后强制进行定位),你可以改变逻辑。如果客户端回复终止可以取消,则让服务器通知客户端会话将被终止。 (这可以在JavaScript客户端完成,因此如果浏览器已经关闭,则不会有回复)