Response.Cookie!s["쿠키명"]["하위키1"] = "변경된값"; Cookie Header : 쿠키명=하위키1=변경된값;... //하위키2와 관련된 쿠키 정보 사라짐
기존의 쿠키명에 해당하는 다른 하위키에 대한 쿠키 값이 모두 없어지게 된다. ASP.NET에서는 쿠키를 NameVal!ueCollection으로 관리하기 때문에 ASP와 같은 형식으로 쿠키를 수정하려고 하면 해당 Collection이 초기화 되어 재설정되기 때문에 기존 설정된 쿠키가 사라지게 되는 것이다.
3. 해결 방안
ASP.NET에서는 다음과 같은 방식으로 하위키의 값을 변경하여야 한다.
HttpCookie cookie = Request.Cookie!s["쿠키명"]; //가져올 쿠키명에 해당하는 쿠키 객체를 가져온다. cookie.Domain = "mkex.pe.kr"; cookie.Values.Set("하위키1","변경된값"); //쿠키 객체의 Collection의 Set 메서드를 이용하여 하위키 값을 변경한다. Response.Cookie!s.Set(cookie); //변경된 쿠키 객체를 다시 Response Cookie Collection에 설정한다.