2009-03-31 12 views
90

Nel metodo SignOut di System.Web.Security.FormsAuthentication, il team ASP.NET ha scelto di scadere il cookie di FormsAuth impostando la data di scadenza su "12 ottobre 1999".Qual è il significato del 12 ottobre 1999?

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

Qual è il significato del 12 ottobre 1999? È uno scherzo interno, o c'è qualche motivo valido per impostare la scadenza del cookie in quella particolare data?

Modifica: Le teorie di seguito sono interessanti, ma sono solo supposizioni. Poiché Phil, Scott e altri membri del team ASP.NET sono su StackOverflow, ho pensato che sarebbe stato divertente offrire una taglia . Speriamo che qualcuno possa rintracciare lo sviluppatore originale e ottenere una risposta autorevole.

Premiato: Per Scott Hanselman per escalation questo uno fino a ScottGu. Speravo davvero in una sorta di significato super-segreto, ispirato agli Illuminati, ma sembra che fosse solo il vecchio trucco di "un anno fa".

+2

e perché 0x7cf invece del 1999? – hasen

+0

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

+0

@Scott, è un anno prima! – Galilyou

risposta

125

Ok, gente, ho parlato con una dozzina di persone diverse sul team ASP.NET. Il dev che ha scritto QUELLA linea di codice, pensiamo, se n'è andato. Abbiamo chiesto a Gu, e lui non ne era sicuro.

Stefan Schackow, da parte del team, ha detto, dopo aver parlato con Manu Vasandani:

"Gli sviluppatori ASP.NET stavano venendo inseguito da un branco di ninja selvatici sul fuoco e quindi erano sotto intense la pressione per completare la funzione mentre temendo per la loro vita. Come risultato nella foga del momento (ary passione) la decisione di scatto è stato fatto per impostare la costante al punto corrente nel tempo, meno di un anno. Purtroppo lo sviluppo chi ha preso questa decisione non è stato abbastanza veloce controllandolo, e nonostante la scorciatoia ha finito per morire una morte agonizzante per mano del leader ninja 'Eviscerati Extremus Meno uno'. "

Traduzione? La data è un anno prima della data in cui è stata scritta la riga di codice.

+4

Hai chiesto a una dozzina di persone su questo? E poi ti chiedi perché sei occupato ... –

+20

Accettato per chiedere al Gu. – Portman

+3

PS: chi vincerebbe in una rissa tra Jon Skeet e The Gu? – Portman

2

Non penso che sia significativo. Potrebbe essere solo una data casuale insignificante in passato, o qualcosa come il compleanno della figlia dello sviluppatore - qualcosa che ha un significato privato per chiunque abbia scritto il codice.

23

Forse quella riga è stata scritta il 13 ottobre 1999 e hanno scelto "ieri" come una data arbitraria che sarebbe sempre stata nel passato.

+2

+1. Quasi azzeccato :) –

9

Non vi è alcun vantaggio per una data specifica quando si imposta la data di scadenza di un cookie. Qualsiasi data presente nel passato causerà la cancellazione del cookie da parte del browser.

Secondo Wikipedia:

  • Pervez Musharraf prende il potere in Pakistan da Nawaz Sharif attraverso un colpo di stato senza spargimento di sangue.
  • Il giorno di sei miliardi: il proclamato 6 miliardesimo umano vivente nel mondo è nato.
  • Morte di Robert Marsden Speranza, Giustizia australiano e Commissario Reale (b. 1919)
  • Morte di Wilt Chamberlain, giocatore di basket americano (b. 1936)

Di questi, il più probabile mi sembra Wilt the Stilt. Forse l'autore era un fan del basket.

+0

Giusto, quindi perché non il 1 gennaio 1900 o qualcosa del genere? Inoltre, perché una data così vicina nel passato, al contrario di qualcosa di prima che il PC venisse inventato? – Portman

+0

Forse per evitare un'epoca negativa.Forse un browser precedente non gestiva correttamente <1970 (epoca UNIX). La mia ipotesi sarebbe che probabilmente è un uovo di Pasqua, anche se dubito che nessuna delle date sopra sia davvero la ragione :) – NilObject

+0

Solo per curiosità, è una coincidenza che Hope sia morta lo stesso giorno in cui sono nati i 6 miliardi di persone viventi? – Flynn1179

188

Elementare Watson:

  • 12 Ott 1999 è esattamente 80 giorni prima del 1-1 2000.
  • Per alcune persone l'anno 2000 è stata la fine del mondo
  • Come sappiamo, it takes 80 days to go around the world.
  • Così il 12 ottobre 1999 è stato l'ultimo giorno possibile per girare il mondo.
  • Come sappiamo, Internet è avvolto in tutto il mondo.
  • Quindi i pacchetti (e anche i cookie) viaggiano in tutto il mondo.
  • La data di scadenza del 12 ottobre 1999 è l'ultimo giorno simbolico in cui è possibile inviare un pacchetto.
  • Non è necessario inviarlo dopo questa data.
  • Quindi questa è la data simbolica per non scadere.
+3

Effetti del venerdì pomeriggio ;-). –

+13

Hai perso la tua chiamata, signore. Perfezionare. – Portman

+0

Ma ma il 1 1 2000 non è la fine del millennio !!! 1 !! :) –

0

È il 10/12/99 in America e il 12/10/99 in Europa, creando una bella data confusa. Nessuno sa se è a dicembre!

+2

Il costruttore DateTime richiede sicuramente anni, poi mese, poi giorno. – Portman

14

Non sono sicuro che sia rilevante per lo sviluppo di ASP.NET, ma era il mio 26 ° compleanno!

+2

Buon compleanno in ritardo! : P – jcolebrand

1

Se si converte 1999/10/12 come un esagono, è 7CF/A/C. Ora si può fare un ROT13 su di esso e si dispone 2PS/N/P
Probabilmente gli Illuminati ...;)

Io davvero non so se c'è alcun senso con questa data. Io non la penso così

(CW per scopi di divertimento)

+5

2PS/N/P: 2 piselli in un baccello? – Seibar

4

Ok, quindi nessuno ho chiesto sulla squadra sembra sapere. Indovina, è stato un anno dopo Bill Gates 1998 PDC Keynote ???

+0

ScottGal on Stackoverflow !? Grazie per aver chiesto in giro. – Portman

0

Proprio come "quanti licks ci vogliono per raggiungere il centro Tootsie Roll di un Tootsie Pop", il mondo potrebbe non sapere mai.

Problemi correlati