当我将ASP.NET应用程序部署为Web场时,我需要注意哪些问题?
答案 0 :(得分:8)
所有会话状态信息都需要在服务器之间进行复制。最简单的方法是使用MSSQL会话状态提供程序。
任何磁盘访问(例如用户存储的动态文件)都需要位于可供所有服务器使用的区域。例如通过使用某种形式的网络附加存储。只需在每台服务器上复制脚本文件,图像和HTML等。
需要检查尝试在应用程序对象中存储任何信息或加载应用程序启动时的信息。每次用户点击服务器场中的新计算机时,都会触发事件。
每个服务器上的机器密钥都是非常大的,正如其他人所建议的那样。如果您对ip地址而不是域使用ssl,也可能会遇到问题。
您必须考虑将要经历的负载均衡策略,因为这可能会改变您的方法。
答案 1 :(得分:6)
会话很重要,请确保使用SQL Server管理会话,并且所有服务器都指向同一个SQL Server实例。
答案 2 :(得分:5)
我遇到过的一个重要问题是不同机器的问题分布在不同的服务器上。 ASP.NET使用machineKey进行各种加密操作,例如ViewState和FormsAuthentication票证。如果你有不同的machineKeys,你可能最终得到的服务器不理解来自其他服务器的回发。如果您想了解更多信息,请查看此处:http://msdn.microsoft.com/en-us/library/ms998288.aspx
答案 3 :(得分:3)
答案 4 :(得分:1)
HOW TO: Set Up Multi-Server ASP.NET Web Applications and Web Services
日志聚合很容易被忽略 - 在处理HTTP日志之前,您可能需要将它们组合起来创建一个包含发送到服务器的请求的单个日志。