MVC RedirectToAction和负载平衡

时间:2012-08-28 11:53:36

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

我需要将请求重定向到TempData的另一个动作以获取特定请求。我知道TempData使用会话来存储数据。

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

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

此致

注意:负载均衡由位于服务器所在的网络外的设备和服务器不在IIS Web场中处理。

1 个答案:

答案 0 :(得分:1)

  

有没有办法在server01上保留特定重定向的请求?

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

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

<sessionState mode="Off" />