Respuesta

8

A juzgar por las etiquetas que ha utilizado en esta pregunta, parece que se está confundiendo.

CookieContainer y CookieCollection se usan con HttpWebRequest que es cuando su programa es un cliente HTTP. CookieCollection almacena las cookies asociadas con un solo nombre de dominio. CookieContainer almacenó todas las cookies sobre todos los nombres de dominio.

En ASP.NET, HttpRequest.Cookies es HttpCookieCollection y se utiliza cuando su programa es un servidor HTTP. Almacena las cookies enviadas por el cliente al servidor. Como solo hay un nombre de dominio (es decir, el suyo), no es necesario que haya una colección bidimensional.

Los dos conjuntos de clases (CookieContainer y CookieCollection contra HttpCookieCollection) no están relacionados entre sí.

En esta publicación he proporcionado algunos antecedentes básicos sobre las clases de colección de cookies en .NET, pero no entiendo su pregunta. ¿Qué es lo que estás tratando de hacer?

+0

Proporcione un enlace a su publicación. Solo trato de entender la diferencia. Necesitaba iniciar sesión en un sitio usando estos objetos y llevar a cabo la sesión y las cookies de autenticación para cada solicitud. Por alguna razón, CookieCollection no contenía ninguna cookie, pero cuando cambié a CookieContainer funcionó. Solo quería entender por qué. – Thomas

+0

¿Es esta una pregunta de ASP.NET, o una pregunta de HttpWebRequest, o está intentando usar HttpWebRequest desde una aplicación ASP.NET? – Dai

+0

Envío una solicitud usando HttpWebRequest a un servidor y obtengo una HttpWebResponse. Puedo acceder a las cookies usando HttpWebResponse.Cookies y/o CookieContainer. Esta pregunta tenía la intención de obtener un poco más de información sobre cuál es la diferencia entre los dos (si corresponde) dado este escenario. Si no hay diferencia, ¿por qué ambos? – Thomas

Cuestiones relacionadas