在 Big I/p 负载平衡环境中将 ASP.NET 2.0 应用程序迁移到 IIS 7.5 时会话丢失。在 Windows Server 2000 和 2003 中运行良好

Posted

技术标签:

【中文标题】在 Big I/p 负载平衡环境中将 ASP.NET 2.0 应用程序迁移到 IIS 7.5 时会话丢失。在 Windows Server 2000 和 2003 中运行良好【英文标题】:Session lost while migrating of ASP.NET 2.0 Applications to IIS 7.5 on Big I/p load balancing environment. Works fine in Windows Server 2000 and 2003 【发布时间】:2012-03-01 01:12:23 【问题描述】:

我已将我的应用程序从 Windows 2000 移至 2008。我可以在 IIS 7.5 中成功设置所有 .net 应用程序。我通过 Big I/p 在两台服务器上设置了带有负载平衡的 web famr。当我访问应用程序时,我发现会话变为空并丢失。它是零星的,并非一直发生。我正在使用 inproc 会话状态。我已经用谷歌搜索并尝试了很多选择,比如 - 将 IIS->ASP-> 会话-> 生成新会话 ID 设置为 false; 以及其他一些配置更改。

我将 apppool 用作具有集成模式的 .net 2.0。我什至还设置了启用 32 位应用程序 = true。

我已经在 web.config 中配置了 Sessiontimeout="240"。

有时,如果我刷新网页,它可以正常工作并填充会话。 当我重定向到其他页面并且会话值在该页面加载期间变为空时,我面临这个问题。

我只想在 Inproc 状态下访问应用程序。请建议正确的配置。

【问题讨论】:

【参考方案1】:

当您跳到场中的不同机器上时,您的会话正在丢失。您需要确保您拥有相同的机器密钥,或者使用不同的技术来存储会话(状态服务器或 sql 服务器)

http://msdn.microsoft.com/en-us/library/ff649308.aspx#paght000007_webfarmdeploymentconsiderations

还有一篇文章:

http://www.c-sharpcorner.com/UploadFile/gopenath/Page107182007032219AM/Page1.aspx

【讨论】:

谢谢!想知道你是否可以帮助***.com/questions/9509022/…【参考方案2】:

我遇到了同样的问题,因为 IIS7 中站点的应用程序池的最大工作进程数大于 1(在应用程序池的高级设置下)。因此,该站点作为“网络花园”运行,并且会话在进程之间丢失。

对于我的修复,我将工作进程的最大数量更改为 1,但有一些解决方案。

此链接提供有关网络花园的更多信息(尽管是 IIS6)http://nicholas.piasecki.name/blog/2009/02/on-web-gardens-aspnet-and-iis-60/

【讨论】:

以上是关于在 Big I/p 负载平衡环境中将 ASP.NET 2.0 应用程序迁移到 IIS 7.5 时会话丢失。在 Windows Server 2000 和 2003 中运行良好的主要内容,如果未能解决你的问题,请参考以下文章

负载平衡环境中的 .Net Core 托管服务

我应该如何限制我的 Elastic Beanstalk 环境的负载平衡 Web 流量?

在没有负载平衡的情况下将 docker 部署到 AWS

会话保持技术及原理技术

负载平衡在gitlab服务器中

F5 BIG-IP 远程代码执行漏洞环境搭建