본문 바로가기
개발/C#, ASP.NET MVC

ASP.NET MVC Web API로 작업할때 세션 사용하기

by GreatCoding 2014. 9. 13.

ASP.NET MVC 프로젝트에서 Web API (REST)작업을 진행할때

세션을 사용하는 방법입니다.


본래 REST는 stateless이기에 세션을 사용하지 않는 방향으로 디자인 하는게 정석이나,

실무중에는 편의성을 위해 어쩔 수 없이 사용해야 할 때가 있습니다.


Global.asax 파일에 MvcApplication클래스 내에 아래와 같은 코드를 추가해줍니다.

        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 컨트롤러에서도 

세션을 추가할때는

HttpContext.Current.Session.Add(key,value);

세션을 사용할때는

var value = HttpContext.Current.Session[key].ToString();

와 같은 식으로 사용 하실 수 있습니다.

댓글