2010-04-07 23 views
8

Esta es una pregunta de la entrevista hecha hace un mes ....¿Utiliza la sesión cookies?

¿Utiliza cookies? Si es así, ¿cómo lo hacen?

Supongamos Session["UserId"]=1 ¿cómo funciona esta variable de sesión utiliza cookies internamente? Si es así, cuál será el nombre de la cookie y cuál es el valor de esa cookie ....

Respuesta

10

Si bien los datos propios se almacenan en el servidor (o en SQL si están configurados de esa manera), debe haber una forma de asociar datos de sesión con usuarios específicos.

De manera predeterminada, esto se hace con una cookie, pero puede configurar sin cookies, en cuyo caso la ID única se almacena en la URL.

De Microsoft:

ASP mantiene el estado de sesión, proporcionando al cliente con una clave única asignada al usuario cuando se inicia la sesión. Esta clave se almacena en una cookie HTTP que el cliente envía al servidor en cada solicitud. El servidor puede leer la clave de la cookie y volver a inflar el estado de la sesión del servidor.

http://msdn.microsoft.com/en-us/library/ms972429.aspx

+0

El artículo menciona casi todos los detalles. La identificación de la sesión se debe pasar entre el navegador y el servidor, por lo que IIS/ASP.NET puede saber qué objeto de sesión se debe usar para una determinada solicitud. –

+0

Compruebe [esto] (http://stackoverflow.com/questions/6353703/session-cookie-some-misunderstandings) – Jibin

-8

no, almacenado en el servidor en algún lugar de la carpeta tmp. Las sesiones están en el servidor, las cookies son del lado del cliente.

+1

Las cookies son el método predeterminado para vincular la identificación de sesión de un usuario a los datos de la sesión en el servidor. –

+0

en las sesiones de php se almacenan en el servidor. No me di cuenta de que esto era asp. mi error. – luckytaxi

+1

Tiene razón en que la variable real se almacena en el servidor (aunque puede proporcionar un proveedor de estado de sesión diferente), pero, como señala Michael Shimmins, el token de sesión se almacena en una cookie de manera predeterminada. – R0MANARMY

1

Cada sesión tendrá SessionID. Y Session ID es un número único, el servidor asigna a un usuario específico, durante su visita (sesión). Y, por defecto, la identificación de sesión se adjunta a una cookie y esta cookie se compartirá de cliente a servidor (y de servidor a cliente) durante sus solicitudes/respuestas. Y el servidor identificará la sesión en función de la identificación de sesión que se recupera de la cookie.

Y en cuanto a cookies, si su navegador no admite cookies o está deshabilitado, se utilizará cookies. Como no tiene cookies, asp.net no puede crear una cookie para guardar la identificación de la sesión. En cambio, la identificación de la sesión se pasará en la cadena de consulta ...

Cuestiones relacionadas