ASP.NET MVC 프로젝트에서 Web API (RESTful API)작업을 진행할때 세션을 사용하는 방법입니다.
본래 REST는 stateless이기에 세션을 사용하지 않는 방향으로 디자인 하는게 정석이나,
실무중에는 편의성을 위해 어쩔 수 없이 사용해야 할 때가 있습니다.
Global.asax 파일에 MvcApplication클래스 내에 아래와 같은 코드를 추가해줍니다.
1 2 3 4 5 6 7 8 9 10 |
public override void Init() { this.PostAuthenticateRequest += MvcApplication_PostAuthenticateRequest; base.Init(); } void MvcApplication_PostAuthenticateRequest(object sender, EventArgs e) { System.Web.HttpContext.Current.SetSessionStateBehavior(SessionStateBehavior.Required); } |
위의 코드를 추가하면 Web API 컨트롤러에서도 세션을 사용할 수 있습니다.
1 2 3 4 5 |
//세션에 값 추가 HttpContext.Current.Session.Add(key,value); //세션에 들어있는 값 사용 var value = HttpContext.Current.Session[key].ToString(); |
ASP.NET MVC Web API로 작업할때 세션 사용하기