2

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

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

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

问候

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

4

1 回答 1

1

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

您需要使用StateServer存储您的会话SQLServer,而不是. 另一种可能性是将您的负载均衡器配置为始终将来自同一 IP 的请求发送到同一台服务器。InProc

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

<sessionState mode="Off" />
于 2012-08-28T11:58:35.090 回答