asp.net – 网络负载平衡方案的会话状态
我们目前为网站设置了当前服务器:
>服务器1:管理系统&数据库 使用Windows网络负载平衡系统管理服务器2和3.它们都运行公共站点代码的副本. 这些网站严重依赖会话,因为他们使用用户登录,我的问题是: 如何在服务器之间保留状态? 公共站点的web.config目前如下所示: <sessionState mode="StateServer" cookieless="false" timeout="40" stateConnectionString="tcpip=localhost:42424"/> 当然,这只是将“localhost”更改为我想要存储会话的I.P的情况?我正在考虑使用数据库服务器来存储会话,所以它看起来像这样: <sessionState mode="StateServer" cookieless="false" timeout="40" stateConnectionString="tcpip=databaseserverIP:42424"/> 这是明智的吗? 我发现了很多关于这个主题的相互矛盾的文档,并希望有人能够深入了解他们之前/将会如何做到这一点. 此外(虽然我在这里!),管理系统允许您上传文章的图像.我正在考虑在服务器2和3上设置一个虚拟目录,这将指向网络共享映射到管理站点上的上传目录,是否有任何理由不赞同这个? 为我的无知道歉,这对我来说是一个未知的领域! 谢谢,肖恩 解决方法
取决于您想要的国家服务.
通常在负载平衡的场景中,您可以使用SQL Server会话或ASP.NET状态服务. 每个都有它的pro / con(SQL Server会话需要序列化/反序列化,但是如果服务器崩溃则保持状态,如果服务器故障转移,ASP.NET状态不会保持状态,但由于没有序列化/反序列化,它会更快). 无论如何,考虑在独立的独立机器上托管服务 – 因此它不会与其他进程争夺资源. 关于这两者的讨论需要您进一步研究 – 就像您的主要关注点是可用性还是速度一样. 请记住,如果要在Web服务器(即webfarm)之间共享会话,则需要将每个服务器的machineKey设置更新为相同. Here’s一篇关于ASP.NET Session State的好文章(以及我提到的machineKey问题). (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- ASP.NET Web.config中的相对路径
- .net-4.0 – 从自定义IHttpHandler调用MvcHttpHandler.Exec
- asp.net-mvc – MVC3:当我想从控制器访问模型数据时,无法为
- asp.net – 开始日期 – 使用Compare Validator Misfires验
- asp.net – 具有html5中的文本以外的输入类型的UpdatePanel
- asp.net-mvc – EntityType’ApplyantPosition’没有定义键
- asp.net – IE7和8随机挂起CSS图像
- asp.net – 使用jetBrains dotTrace检测W3WP CPU问题
- asp.net – 如何防止FormView在Insert方法被触发后清除用户
- .net – 更好地理解Orchard的’形状’概念