6

나는 이것에 대한 연구를 해왔고 나는 답을 찾을 수 없었다.CookieContainer와 Response.Cookies 컬렉션의 차이점은 무엇입니까?

Response.Cookies 컬렉션을 사용하여 가져올 수없는 쿠키가 컨테이너에 저장되어 있습니까? 이 객체를 사용하는 요청간에 쿠키는 어떻게 처리됩니까? 일부 쿠키는 컨테이너에 저장 되나 다른 쿠키는 저장되지 않습니까?

답변

8

이 질문에 사용한 태그를 보면 혼란스러워하고있는 것처럼 보입니다.

CookieContainerCookieCollection은 프로그램이 HTTP 클라이언트 인 경우 HttpWebRequest과 함께 사용됩니다. CookieCollection은 단일 도메인 이름과 연결된 쿠키를 저장합니다. CookieContainer은 모든 도메인 이름에 대해 모든 쿠키를 저장했습니다.

HttpRequest.CookiesHttpCookieCollection이며 프로그램이 HTTP 서버 일 때 사용됩니다. 클라이언트가 보낸 쿠키를 서버에 저장합니다. 도메인 이름이 하나 (예 : 귀하)이므로 2 차원 컬렉션이 필요하지 않습니다.

두 세트의 클래스 (CookieContainerCookieCollectionHttpCookieCollection)는 서로 완전히 관련이 없습니다.

이 게시물에서는 .NET의 쿠키 컬렉션 클래스에 대한 기본 배경을 제공했지만 사용자의 질문을 이해할 수 없습니다. 당신이하려는 것은 무엇입니까?

+0

게시물에 대한 링크를 제공해주십시오. 나는 그 차이를 이해하려고 노력하고있다. 이러한 개체를 사용하여 사이트에 로그인하고 각 요청에 대해 세션 및 인증 쿠키를 처리해야했습니다. 어떤 이유로 CookieCollection에 쿠키가 포함되어 있지 않았지만 CookieContainer로 전환하면 제대로 작동했습니다. 나는 그 이유를 이해하기를 원했습니다. – Thomas

+0

이 질문은 ASP.NET 질문 또는 HttpWebRequest 질문입니까, 아니면 ASP.NET 응용 프로그램 내에서 HttpWebRequest를 사용하려고합니까? – Dai

+0

HttpWebRequest를 사용하여 서버에 요청을 보내고 HttpWebResponse를 반환합니다. HttpWebResponse.Cookies 및/또는 CookieContainer를 사용하여 쿠키를 얻을 수 있습니다. 이 질문은이 시나리오에서 주어진 두 가지 (있는 경우) 사이의 차이점에 대해 더 많은 통찰력을 얻으려는 의도였습니다. 차이가 없다면 왜 둘 다 있습니까? – Thomas