MVC 2를 사용하여 사이트를 만들었습니다. 내 문제는 처음으로 세션에 액세스 할 때 Response.End()가 세션을 잃게 만듭니다.Response.End()는 세션이 처음 사용되었을 때 세션이 손실되도록합니다.
테스트 케이스 1 :
응용 프로그램을 시작합니다.
집/X로 이동하십시오. 항목이
session
에 추가되고Response.End()
이 호출됩니다.다시 홈/X를 열고
Session["X"]
(할당 줄 앞에 중단 점 추가)을 선택하십시오. 을 반환합니다. 세션에 "X"를 다시 할당하는 나머지 작업을 실행하십시오.Reopen Home/X. 이번에는
Session["X"]
이 올바른 값을 반환합니다.
테스트 케이스 2 :
가 웹 응용 프로그램을 실행 상태로 유지. 브라우저를 닫고 다시 열어 새 세션을 엽니 다. 집/X를 방문하십시오.
결과 :
Session["X"]
에는 항상 값이 있습니다.
아무에게도 왜 이런 일이 일어나고 어떻게 해결할 수 있습니까? Global.asax에에
public void Session_OnStart()
{
}
추가
는[HandleError]
public class HomeController : Controller
{
public ActionResult Index()
{
ViewData["Message"] = "Welcome to ASP.NET MVC!";
return View();
}
public void X()
{
Session["X"] = "X";
Response.End();
}
}
다음을 수행하십시오. http://stackoverflow.com/a/329523/1557322 희망이 정보는 당신을 도울 것입니다. –
asp.net 세션으로 브라우저 세션을 혼란스럽게 생각합니다. –
@ViralShah하지만 ViewState에는 아무런 문제가 없습니다. – Thuan