Đánh giá theo các thẻ bạn đã sử dụng cho câu hỏi này, có vẻ như bạn đang bối rối.
CookieContainer
và CookieCollection
được sử dụng với HttpWebRequest
là khi chương trình của bạn là ứng dụng khách HTTP. CookieCollection
lưu trữ các cookie được liên kết với một tên miền duy nhất. CookieContainer
lưu trữ tất cả cookie trên tất cả các tên miền.
Trong ASP.NET, HttpRequest.Cookies
là HttpCookieCollection
và được sử dụng khi chương trình của bạn là máy chủ HTTP. Nó lưu trữ các tập tin cookie được gửi bởi khách hàng đến máy chủ. Vì chỉ có một tên miền (tức là của bạn) nên không cần bộ sưu tập 2 chiều.
Hai nhóm lớp học (CookieContainer
và CookieCollection
và HttpCookieCollection
) hoàn toàn không liên quan với nhau.
Trong bài đăng này, tôi đã cung cấp một số thông tin cơ bản về các lớp thu thập cookie trong .NET, nhưng tôi không hiểu câu hỏi của bạn. Bạn đang cố gắng làm gì?
Vui lòng cung cấp liên kết tới bài đăng của bạn. Tôi chỉ đang cố gắng hiểu sự khác biệt. Tôi cần phải đăng nhập vào một trang web bằng cách sử dụng các đối tượng này và thực hiện thông qua các phiên và cookie xác thực cho từng yêu cầu. Vì một số lý do, CookieCollection không chứa bất kỳ cookie nào nhưng khi tôi chuyển sang CookieContainer nó đã hoạt động. Tôi chỉ muốn hiểu tại sao. – Thomas
Đây có phải là một câu hỏi ASP.NET, hoặc một câu hỏi HttpWebRequest, hoặc bạn đang cố gắng sử dụng HttpWebRequest từ bên trong một ứng dụng ASP.NET? – Dai
Tôi gửi một yêu cầu bằng cách sử dụng HttpWebRequest đến một máy chủ và lấy lại một HttpWebResponse. Tôi có thể truy cập cookie bằng cách sử dụng HttpWebResponse.Cookies và/hoặc CookieContainer. Câu hỏi này được dự định để hiểu rõ hơn về sự khác nhau giữa hai (nếu có) cho kịch bản này. Nếu không có sự khác biệt thì tại sao lại có cả hai? – Thomas