2012-08-31 4 views
2

MVC 2를 사용하여 사이트를 만들었습니다. 내 문제는 처음으로 세션에 액세스 할 때 Response.End()가 세션을 잃게 만듭니다.Response.End()는 세션이 처음 사용되었을 때 세션이 손실되도록합니다.

테스트 케이스 1 :

  1. 응용 프로그램을 시작합니다.

  2. 집/X로 이동하십시오. 항목이 session에 추가되고 Response.End()이 호출됩니다.

  3. 다시 홈/X를 열고 Session["X"] (할당 줄 앞에 중단 점 추가)을 선택하십시오. 을 반환합니다. 세션에 "X"를 다시 할당하는 나머지 작업을 실행하십시오.

  4. Reopen Home/X. 이번에는 Session["X"]이 올바른 값을 반환합니다.

테스트 케이스 2 :

  1. 가 웹 응용 프로그램을 실행 상태로 유지. 브라우저를 닫고 다시 열어 새 세션을 엽니 다. 집/X를 방문하십시오.

  2. 결과 : 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(); 
    } 
} 
+1

다음을 수행하십시오. http://stackoverflow.com/a/329523/1557322 희망이 정보는 당신을 도울 것입니다. –

+0

asp.net 세션으로 브라우저 세션을 혼란스럽게 생각합니다. –

+0

@ViralShah하지만 ViewState에는 아무런 문제가 없습니다. – Thuan

답변

1

문제를 해결하는 데 도움이됩니다.