【问题标题】:MVC RedirectToAction and LoadBalancingMVC RedirectToAction 和负载平衡
【发布时间】:2012-08-28 11:53:36
【问题描述】:

对于特定请求,我需要使用 TempData 将请求重定向到另一个操作。我知道 TempData 使用会话来存储数据。

如果请求到达 server01 并且请求使用 TempData 重定向到另一个操作,请求会保留在 server01 上还是会转到 server02?如果它转到 server02 ,我将无法正确处理 TempData。

有没有办法将请求保留在 server01 上以进行特定重定向?还是我必须创建一个 cookie 来指向我的数据库上的数据并检查是否存在 cookie 的请求?

问候

注意:负载平衡由服务器所在网络之外的设备处理,并且服务器不在 IIS Web Farm 中。

【问题讨论】:

    标签: asp.net asp.net-mvc asp.net-mvc-3 iis-7


    【解决方案1】:

    有没有办法将请求保留在 server01 上以进行特定重定向?

    您需要使用StateServerSQLServerstore your sessions 而不是InProc。另一种可能性是将负载均衡器配置为始终将来自同一 IP 的请求发送到同一服务器。

    当然,所有这些都是非常糟糕的想法。实现这一点的最佳方法是简单地摆脱会话和 TempData 并以无状态的 RESTFul 方式设计您的应用程序。我最喜欢的sessionState 模式如下:

    <sessionState mode="Off" />
    

    【讨论】:

      猜你喜欢
      • 2019-01-16
      • 2012-04-25
      • 2011-04-21
      • 2017-09-21
      • 2014-04-18
      • 2011-04-15
      • 2011-02-11
      • 2017-05-23
      • 2023-03-09
      相关资源
      最近更新 更多