2009-02-25 4 views
3

오늘 MVC 소스에서 상대 :ASP 닷넷 및 sessionState의

공용 클래스 MvcHandler :을 IHttpHandler, IRequiresSessionState이

이 왜 sessionState의 필요합니까? MVC가 뭔가를 RESTful하게하려고하지 않습니까?

MVC에서 세션 상태를 사용하는 이유는 일부 데이터 (용어는 기억할 수 없지만 세션 상태는 다른 매체로 대체 될 수 있음)를 전송하기위한 이유입니다. 제 질문은 :

MVC 응용 프로그램을 작성하고 세션 상태를 완전히 끌 수있는 옵션을 지정하고 사용할 수없는 이유는 무엇입니까?

답변

3

TempData 때문에 필요합니다. TempData는 ViewData와 비슷합니다. 단, 한 번만보기 및 뒤로 만들 수 있습니다. 이를 위해서는 쿠키가 필요합니다.

더미 개체를 만들어 주위를 둘러 볼 수있는 방법이 있습니다. 방법을 기억하지 못합니다.

덕분에 찾았습니다. Kigg입니다.

public class EmptyTempDataProvider : ITempDataProvider 
{ 
    public IDictionary<string, object> LoadTempData(ControllerContext controllerContext) 
    { 
     return new Dictionary<string, object>(); 
    } 

    public void SaveTempData(ControllerContext controllerContext, IDictionary<string, object> values) 
    { 
    } 
} 

그런 다음 다른 컨트롤러를 만들 때 기본 컨트롤러를 만들어야합니다.

protected BaseController() 
{ 
    TempDataProvider = new EmptyTempDataProvider(); 
} 

이렇게하면 세션 상태를 비활성화 할 수 있습니다.