우리가 사용중인 WebFarm은 Session을 지원하지 않습니다. 리디렉션 중에는 데이터를 전달해야합니다. TempData가 Session을 내부에서 사용하기 때문에 TempData dictionary없이 이것을하는 법.ASP.Net MVC - TempData 세션 문제
답변
사용자 고유의 TempData 공급자를 작성하여 쿠키에 저장할 수 있습니다. ASP.NET MVC Store TempData in Cookie을 참조하십시오. 숨겨진 입력을 찾고 객체/상태를 해독하고 각 HTTP 요청과의 지속성을 유지하는 기본 클래스 컨트롤러를 가질 수 있습니다.
TempData는 두 컨트롤러 동작 사이에서만 지속됩니다.
편집 :
심지어 디스크에 ... 같은 예제를 사용하고 DB에 직렬화 공급자 쓰기 또는 수 있습니다. 그 문제에 대해, 당신은 Session에 대한 전체 커스텀 대체물을 굴릴 수도 있습니다. 당신은 세션 팩토리 클래스를 생성하고 몇몇 정적 콜렉션의 키를 통해 커스텀 세션 객체를 저장할 것입니다. 그런 다음 위에서 언급 한 쿠키 또는 숨겨진 입력을 통해 세션 키를 추적합니다.
이것은 MVC에서 더 많은 것을 배우기위한 매우 유용한 질문이었습니다. TempData가 세션을 사용한다는 사실을 Microsoft가 알고 있다고 가정하는 이유와 같은 몇 가지 질문이 있습니다.
4kb 이상의 개체를 업로드하는 데 문제가 있습니다. 이를 위해 우리 건축가는 그 객체를 분리하여 쿠키에 저장합니다. 아래 블로그의 코드를 사용하여 객체의 직렬화 된 문자열을 분할했습니다.
http://lukencode.com/2010/04/21/split-string-into-array-of-chunks/
는 그래서 SaveTempData 방법에 쿠키를 분할 LoadTempData에서 하나의 문자열로를 수집합니다. 그게 문제가 해결 됐어.그러나 NVElocity와 같은 분산 캐싱 기술을 항상 사용하는 것이 좋습니다.
다음과 같습니다 클래스를 만듭니다
는public class GlobalStorage
{
public static Dictionary<string, object> Device = new Dictionary<string, object>();
}
스토어 :
GlobalStorage.Device.Add("myKey", mydata);
은 검색 :
내 객체의 크기가 다음을 큰 경우 좋은 solution.But있어string mydata = GlobalStorage.Device["myKey"].ToString();
- 1. ASP.NET MVC 3의 동적 TempData
- 2. Asp.net MVC 2.0 TempData 만료
- 3. ASP.NET MVC 잘못된 요청에 사용 된 TempData
- 4. DotNetOpenAuth ASP.NET MVC 3 세션 문제
- 5. ASP.NET MVC 세션 사용
- 6. ASP.Net MVC Nhibernate 세션
- 7. ASP.NET MVC 세션
- 8. asp.net mvc 세션 개체
- 9. ASP.NET MVC 세션 만료
- 10. asp.net mvc 세션
- 11. ASP.NET MVC : 컨트롤러 메서드 실행 후 TempData 지우기
- 12. jQuery를 사용하는 ASP.NET MVC 세션
- 13. ASP.NET MVC : 나는 다른 통화에 데이텀을 지속 할 필요가로서 나는 TempData 변수에 리디렉션에서 변수를받을 컨트롤러 액션에서 TempData
- 14. ASP.NET 세션 문제
- 15. asp.net - 세션 문제
- 16. ASP.NET 세션 문제
- 17. ASP.NET 세션 문제
- 18. ASP.NET MVC의 세션 만료 문제
- 19. ASP.NET MVC 단위 테스트 - 세션
- 20. asp.net mvc 세션 시간 초과
- 21. Asp.Net mvc 세션 대 캐시
- 22. ASP.NET MVC 저장 엔티티 세션
- 23. ASP.NET MVC - 세션 사용 대안
- 24. ASP.NET MVC LCID 및 세션
- 25. asp.net mvc 세션 상태 .. 도움말?
- 26. asp.net 세션 시간 초과 문제
- 27. asp mvc 세션 변수
- 28. ASP.NET MVC 프로젝트 아키텍처 문제 - 인증 및 세션
- 29. ASP.NET 세션 상태 보안 문제
- 30. ASP.NET MVC : 배포 문제
문제가 될 것입니다. 쿠키는 최대 크기 4kb를 허용합니다.이 경우에는 좋은 해결책을 제공해 주시겠습니까? 캐시 공급자와 같이 Velocity를 사용할 수 있습니까? – Thanigainathan
나는 당신이 그것에 대처하기 위해 우리 자신의 수업을 만드는 것에 관해 말한 것을 좋아했다. 내 자신의 Dictionary를 만들었습니다. 공용 클래스에서 필자가 필요할 때 네임 스페이스를 가져 오기 위해'using' 문을 가져올 수있었습니다. 이것은 TempData, ViewData, Session 및 쿠키가 작동하지 않는 경우에도 작동합니다. –
vapcguy