2009-03-31 8 views
90

En el método SignOut de System.Web.Security.FormsAuthentication, el equipo ASP.NET eligió caducar la cookie FormsAuth al establecer la fecha de caducidad en "12 de octubre de 1999".¿Cuál es la importancia del 12 de octubre de 1999?

HttpCookie cookie = new HttpCookie(FormsCookieName, str); 
cookie.HttpOnly = true; 
cookie.Path = _FormsCookiePath; 
cookie.Expires = new DateTime(0x7cf, 10, 12); 

¿Cuál es la importancia del 12 de octubre de 1999? ¿Es una broma interna, o hay alguna razón válida para establecer el vencimiento de la cookie a esa fecha en particular?

Editar: Las siguientes teorías son interesantes, pero son solo conjeturas. Desde Phil, Scott, y otros miembros del equipo ASP.NET están en StackOverflow, pensé que sería divertido ofrecer bounty. Esperemos que alguien pueda rastrear al desarrollador original y obtener una respuesta autorizada.

que otorga: a Scott Hanselman para la escalada de éste hasta el final a ScottGu. Realmente estaba esperando algún tipo de significado supersecreto, al estilo de los Illuminati, pero parece que fue solo el viejo truco de "hace un año".

+2

y por qué es 0x7cf en lugar de 1999? – hasen

+0

Hm ... http://to-tech.com/conf/pdc98/day1/index.html –

+0

@Scott, ¡eso es un año antes! – Galilyou

Respuesta

125

Bien, amigos, hablé con una docena de personas diferentes en el equipo de ASP.NET. El desarrollador que escribió ESA línea de código, creemos, se ha ido. Le preguntamos a The Gu, y él no estaba seguro.

Stefan Schackow, del equipo, dijo, después de hablar con Manu Vasandani:

"Los desarrolladores de ASP.NET estaban siendo perseguido por una manada de salvajes ninjas en fuego y por lo tanto estaban bajo intensa presión para completar la función mientras temen por sus vidas. Como resultado en el calor del momento (ary pasión) la decisión instantánea se hizo establecer la constante en el punto actual en el tiempo, menos de un año. Desafortunadamente desarrollar er que hizo que la decisión no fue lo suficientemente rápido como la comprobación hacia adentro y a pesar del acceso directo terminaron muriendo una muerte agonizante a manos de la líder ninja 'Eviscerati Extremus Minus One' ".

¿Traducción? La fecha es un año antes de la fecha en que se escribió esa línea de código.

+4

¿Le preguntaste a una docena de personas sobre esto? Y luego te preguntas por qué estás ocupado ... –

+20

Aceptado por preguntar The Gu. – Portman

+3

PD: ¿Quién ganaría en una pelea entre Jon Skeet y The Gu? – Portman

2

No creo que sea significativo. Podría ser simplemente una fecha aleatoria sin sentido en el pasado, o algo así como el cumpleaños de la hija del desarrollador, algo que tiene un significado privado para quien escribió el código.

23

Quizás esa línea fue escrita el 13 de octubre de 1999, y escogieron "ayer" como una fecha arbitraria que siempre estaría en el pasado.

+2

+1. Casi adivinado :) –

9

No existe ningún beneficio en una fecha específica al establecer la fecha de caducidad de una cookie. Cualquier fecha que esté en el pasado hará que el navegador elimine la cookie.

Según Wikipedia:

  • Pervez Musharraf toma el poder en Pakistán de Nawaz Sharif, a través de un golpe de estado incruento.
  • El Día de los Seis Mil Millones: nace el humano viviente número 6 mil millones proclamado en el mundo.
  • muerte de Robert Marsden esperanza, justicia australiana y el Comisionado Real (b. 1919)
  • muerte de Wilt Chamberlain, jugador de baloncesto estadounidense (n. 1936)

De ellos, los más probable es que me parece Marchitar el zanco. Tal vez el autor era un fanático del baloncesto.

+0

Correcto, ¿por qué no el 1 de enero de 1900 o algo así? Además, ¿por qué una fecha tan cercana en el pasado, a diferencia de algo antes de que la PC siquiera se inventara? – Portman

+0

Quizás para evitar una época negativa.Tal vez un navegador anterior no manejaba <1970 (época UNIX) correctamente. Supongo que probablemente sea un huevo de Pascua, aunque dudo que alguna de las fechas anteriores sea realmente la razón :) – NilObject

+0

Solo por curiosidad, es coincidencia que Hope haya muerto el mismo día en que nació la 6 billonésima persona viviente. – Flynn1179

188

Elemental mi querido Watson:

  • Oct 12 1999 es de exactamente 80 días antes de 2000. 1-1
  • Para algunas personas el año 2000 fue el fin del mundo
  • Como sabemos, it takes 80 days to go around the world.
  • Entonces oct 12 1999 fue el último día posible para dar la vuelta al mundo.
  • Como sabemos, Internet está envuelto alrededor del mundo.
  • Así que los paquetes (y también las cookies) viajan por todo el mundo.
  • La fecha de vencimiento del 12 de octubre de 1999 es el último día simbólico de envío de un paquete.
  • No hay necesidad de enviarlo más tarde de esta fecha.
  • Así que esta es la fecha simbólica para no caducar.
+3

Efectos de la tarde del viernes ;-). –

+13

Usted ha perdido su vocación, señor. Perfecto. – Portman

+0

Pero pero 1 1 2000 no es el final del milenio !!! 1! :) –

0

Es 10/12/99 en América y 12/10/99 en Europa, lo que lo convierte en una fecha confusa. ¡Nadie sabe si es en diciembre!

+2

El constructor DateTime definitivamente toma año, mes y día. – Portman

14

No estoy seguro de que sea de alguna relevancia para el desarrollo de ASP.NET, ¡pero fue mi 26º cumpleaños!

+2

¡Feliz cumpleaños tardío! : P – jcolebrand

1

Si convierte 1999/10/12 como un hexágono, es 7CF/A/C. Ahora usted puede hacer una ROT13 en él y tiene 2PS/N/P
Probablemente los Illuminati ...;)

Realmente no sé si hay algún sentido con esta fecha. No lo creo.

(CW el objeto de divertirse)

+5

2PS/N/P: 2 guisantes en una vaina? – Seibar

4

Ok, así que nadie le he pedido en el equipo parece saber. Guess es, fue un año después del Bill Gates 1998 PDC Keynote ???

+0

ScottGal en Stackoverflow? Gracias por preguntar. – Portman

0

Al igual que "cuántos licks se necesita para llegar al centro de Tootsie Roll de un Tootsie Pop", el mundo nunca podrá saber.

Cuestiones relacionadas