我将ASP.net网站部署到两台服务器并将它们置于负载平衡环境之后。现在问题是性能真的很慢。即使是简单的按钮事件,也需要很长时间才能完成简单的按钮事件。但是,如果我单独访问该站点(通过其服务器的地址),性能良好。我们的系统工程师告诉我的是,应用程序处理进程中的会话状态,好像它只在一台服务器上运行,它无法处理群集。因此,他建议我应该使用代码中的会话对象将会话存储在SQL服务器或cookie中。
我目前正在使用会话变量来存储会话。
我是ASP.net的新手,我不确定这是什么意思以及如何在我的.net代码(C#)中实现这一点?
感谢。
答案 0 :(得分:1)
以下是一个很好的链接:ASP.NET Session State
您可能希望使用进程外模式,其中服务器在指定服务器上访问1个会话进程,如果速度是您的首要任务或 SQL Server模式如果可靠性是您的首要任务,那么所有服务器都会访问1个数据库,如果进程终止,则会丢失会话数据,类似于进程内会话处理的工作方式。
不需要对存储会话数据进行编码更改,只需要更改环境的初始配置和web.config更改。
答案 1 :(得分:0)
首先,您需要在web.config中配置sessionstate以获取您想要执行的操作。这是一个关于在sql server中存储sessionstate的分步教程。希望它有所帮助!