[ASP.NET] Session state has created a session id, but cannot save it because the response was already flushed
.NET/ASP.NET 2016. 8. 9. 11:00 |오류 유형은 아래의 웹서버 로그와 같이 “세션ID 가 생성 되었지만, Response 가 Flushed 되어 저장할 수 없다”.
Session state has created a session id, but cannot save it because the response was already flushed
이 현상은 다음의 경우의 수를 모두 만족할 경우 발생하게 된다.
웹서버(IIS) 가 리사이클링 되고,
웹서버에게 첫 요청이 가고,
코드에서 Session 속성을 사용하기 전이고,
서버 코드에서 Response 를 Flush 하고,
웹브라우저가 아닌, 네트워크 라이브러리를 통해 호출을 하고,
Global.asax.cs 의 Session_Start 이벤트가 발생할 때
분석을 해보면 (MSDN 에서 ASP.NET Application Page LifeCycle(영문)을 참고), PreRendering 단계 이후에 SavePageStateTo 를 수행하는 것을 알 수 있다. 따라서 인터넷을 통해 찾은 해결 방법이 Session 속성의 객체를 한 번 호출해 주는 것으로 이런 현상을 제거할 수 있다.
'.NET > ASP.NET' 카테고리의 다른 글
[ASP.NET Core] Middleware, IHttpModule과 IHttpHandler 마이그레이션 (0) | 2016.11.16 |
---|---|
[ASP.NET Core] IControllerFactory 설정 및 마이그레이션 (0) | 2016.11.15 |
[ASP.NET] Session state has created a session id, but cannot save it because the response was already flushed (0) | 2016.08.09 |
ASP.NET WebForm 에서 Dependency Injection 사용하는 방법 (0) | 2016.02.28 |
memcached, 분산 캐시를 이용하여 분산 Session 성능 향상 (2/2) (0) | 2013.05.21 |
memcached, 분산 캐시를 이용하여 분산 Session 성능 향상 (1/2) (0) | 2013.05.20 |
댓글을 달아 주세요