요청한 모든 페이지에 대해 쿠키를 확인하거나 쿠키가없는 경우 만들어야합니다. 쿠키가있는 경우 해당 쿠키의 내용을 기반으로 DB에서 일부 정보를로드해야합니다.asp.net mvc가 기본 컨트롤러의 쿠키 데이터에 액세스 할 수 없음
이렇게하려면 다른 컨트롤러가 상속하는 AppController라는 기본 컨트롤러를 만들었습니다.
:public MySession CurrentSessionValues; public ApplicationController() { if (Request.Cookies["MySiteCookie"] == null) { // create new Record in DB CurrentSessionValues = CreateMySession(); HttpCookie cookie = new HttpCookie("MySiteCookie"); cookie.Value = CurrentSessionValues.SessionID.ToString; Response.SetCookie(cookie); } else { // use the value in MySiteCookie to get values from the DB // e.g. logged in user id, cart id, etc } }
내가 이것을 실행하면, 나는 default.aspx에이 오류가 발생합니다 :합니다 (CurrentSessionValues 개체 것을 내 모든 컨트롤러에 사용할 수 있도록)
는이 같은 뭔가를
컨트롤러 'Mvc_Learn.Controllers.HomeController'유형 컨트롤러를 만드는 동안 오류가 발생했습니다.
컨트롤러에 컨트롤러 팩토리가 없으면 매개 변수가없는 public 생성자 이 있는지 확인하십시오.
그것은 Request.Cookies에 휴식 [ "MySiteCookie"]
나는 다른 방법이나 다른 장소에서이 논리 일을해야 하는가?
감사합니다. 사용하고 있습니다 : requestContext.HttpContext.Request.Cookies [ "MysiteCookie"] – Nils