6

Tôi đã thực hiện một số nghiên cứu về điều này và tôi không thể tìm thấy câu trả lời thẳng.Sự khác nhau giữa bộ sưu tập CookieContainer và Response.Cookies là gì?

Có một số cookie được lưu trữ trong vùng chứa mà tôi không thể sử dụng bộ sưu tập Response.Cookies không? Cookie được xử lý như thế nào giữa các yêu cầu sử dụng các đối tượng này? Một số cookie được lưu trữ trong vùng chứa chứ không phải cookie khác?

Trả lời

8

Đá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.

CookieContainerCookieCollection đượ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.CookiesHttpCookieCollection 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 (CookieContainerCookieCollectionHttpCookieCollection) 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ì?

+0

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

+0

Đâ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

+0

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

Các vấn đề liên quan