내 ASP.NET MVC 3 응용 프로그램에서 LogOn 작업의 내 기억 상자를 체크하면 영구 쿠키가 생성되어 브라우저를 닫고 다시 열 때 내가 피들러를 사용하는 경우세션 ID가 쿠키에 저장되지 않음
FormsAuthentication.SetAuthCookie(model.UserName, model.RememberMe);
, 내가 세션 ID가과 같이 전송되는 볼 수 있습니다 : 그것은 아직도 로그인해야
Request sent 342 bytes of Cookie data:
ASP.NET_SessionId=<Session ID>; .ASPXAUTH=<Auth String>
을하지만 내 브라우저를 다시 열고 닫을 때 , 아직 로그인되어 있지만 요청이 세션 ID를 보내지 않습니다.
Request sent 298 bytes of Cookie data:
.ASPXAUTH=<Auth String>
나는 내 행동에 Response.Write(Session.SessionID)
을 넣어 브라우저가 다시 열리면 페이지가 새로 고침 될 때마다 변경됩니다. 브라우저를 닫지 않으면 세션 ID가 새로 고침 될 때마다 동일하게 유지됩니다.
저는 InProc
으로 경험했기 때문에 StateServer
을 사용하여 세션 상태를 유지하려고합니다.
내 '_Layout.cshtml' 파일과 Session 변수는 응용 프로그램의 모든 뷰에서 유지되므로 가장 좋지만 브라우저를 닫으면이 변수가 더 이상 존재하지 않습니다. – CallumVass
물론 완벽합니다. 그러나 다음과 같이하면 좋을지도 모르겠다. public string GetMyCompany() { return Session [ "MyCompany"] = Session [ "MyCompany"] ?? GetMyCompanyFromDataBase(); } – aquinas
아, 완벽하게 시도해 보겠습니다. 감사합니다. – CallumVass