2012-08-28 2 views
2

특정 요청에 대해 TempData를 사용하여 요청을 다른 작업으로 리디렉션해야합니다. TempData는 세션을 사용하여 데이터를 저장합니다.MVC RedirectToAction 및 LoadBalancing

요청이 server01에 도달하고 TempData로 리디렉션 된 요청이 다른 작업으로 리디렉션되면 요청은 server01에 남아 있거나 server02로 이동합니까? server02로 이동하면 TempData를 제대로 처리 할 수 ​​없습니다.

특정 리디렉션에 대해 server01에서 요청을 유지하는 방법이 있습니까? 또는 db에 데이터를 가리키는 쿠키를 만들어야하며 쿠키가 있는지 여부를 확인해야합니까?

감사

참고 : 평형화는 서버가있는 네트워크에서 장치에 의해 처리되고 서버가 IIS 웹 팜에 있지 않습니다.

답변

1

특정 리디렉션에 대해 server01에 대한 요청을 유지하는 방법이 있습니까?

당신은 store your sessions 대신 InProcStateServer 또는 SQLServer을 사용해야합니다. 또 다른 가능성은 동일한 IP에서 동일한 서버로 요청을 항상 보내도록로드 밸런서를 구성하는 것입니다.

이들은 모두 매우 나쁜 생각입니다. 이를 달성하는 가장 좋은 방법은 단순히 세션과 TempData를 없애고 상태 비 저장 RESTFul 방식으로 애플리케이션을 설계하는 것입니다. 내가 좋아하는 sessionState 모드는 다음과 같습니다.

<sessionState mode="Off" /> 
관련 문제