Каково значение 12 октября 1999 года?

В методе SignOut System.Web.Security.FormsAuthentication группа ASP.NET решила истечь срок действия файла cookie FormsAuth, установив дату истечения срока действия «12 октября 1999 г.».

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

Каково значение 12 октября 1999 года? Это внутренняя шутка или есть какая-то веская причина установить срок действия файла cookie на эту конкретную дату?

Редактировать. Приведенные ниже теории интересны, но это всего лишь догадки. Поскольку Фил, Скотт и другие члены команды ASP.NET находятся в StackOverflow, я подумал, что было бы интересно предложить награду. Надеюсь, кто-то сможет отследить оригинального разработчика и получить авторитетный ответ.

Присуждено: Скотту Хансельману за передачу этого вопроса в ScottGu. Я действительно надеялся на какой-то сверхсекретный смысл в стиле иллюминатов, но похоже, что это был просто старый трюк «год назад».


person Portman    schedule 31.03.2009    source источник
comment
и почему вместо 1999 0x7cf?   -  person hasen    schedule 03.04.2009
comment
Хм.... to-tech.com/conf/pdc98/day1/index .html   -  person Scott Hanselman    schedule 08.04.2009
comment
@ Скотт, это на целый год раньше!   -  person Galilyou    schedule 08.04.2009
comment
;) Знаю, еще, жуткое совпадение.   -  person Scott Hanselman    schedule 09.04.2009
comment
Источник ссылки: referencesource.microsoft.com/#System.Web/Security. /   -  person SandRock    schedule 21.09.2019


Ответы (12)


Элементарно мой дорогой Ватсон:

  • 12 октября 1999 года ровно за 80 дней до 1-1 2000 года.
  • Для некоторых людей 2000 год был концом света.
  • Как мы знаем, чтобы совершить кругосветное путешествие, требуется 80 дней.
  • Так что 12 октября 1999 года было последним днем, когда можно было совершить кругосветное путешествие.
  • Как мы знаем, Интернет обернут по всему миру.
  • Так пакеты (а также куки) путешествуют по миру.
  • Дата истечения срока действия 12 октября 1999 года является символическим последним днем, когда пакет может быть отправлен.
  • Нет необходимости отправлять его позже этой даты.
  • Так что это символическая дата для не истекает.
person Toon Krijthe    schedule 03.04.2009
comment
Послеобеденные эффекты пятницы ;-). - person Toon Krijthe; 03.04.2009
comment
Вы пропустили свое призвание, сэр. Идеальный. - person Portman; 03.04.2009
comment
Но но 1 1 2000 это не конец тысячелетия!!!1!! :) - person 1800 INFORMATION; 05.06.2009
comment
@1800 Информация, правильная, но как вы знаете (также подкреплено литературой), если достаточное количество людей скажет 2+2=5, то это будет правильно ;-). - person Toon Krijthe; 18.06.2009
comment
Этот ответ гениален - person Kirschstein; 18.06.2009
comment
-Устанавливает новую дату истечения срока действия до 12 октября 2011 г.- - person Triptych; 04.10.2009
comment
ха-ха +1 .. Я сделал этот точный расчет, прежде чем посмотреть на ваш ответ: D - person Anurag; 20.04.2010
comment
+1 - поистине восхитительная масса нумерологической чуши. Попутно заметьте, что в списке девять пунктов, то есть 3 в квадрате, а в 1999 году — три девятки. Я оставляю нумерологически склонным угадывать значение этого наблюдения. - person Bob Jarvis - Reinstate Monica; 15.08.2012

Хорошо, ребята, я поговорил с дюжиной разных людей из команды ASP.NET. Мы думаем, что разработчика, написавшего ЭТУ строчку кода, больше нет. Мы спросили Гу, и он не был уверен.

Стефан Шаков из команды сказал после разговора с Ману Васандани:

«Разработчиков ASP.NET преследовала стая диких ниндзя в огне, и поэтому они находились под сильным давлением, чтобы завершить функцию, опасаясь за свою жизнь. В результате в пылу момента (страсть) быстрое решение было сделано, чтобы установить константу на текущий момент времени, меньше одного года. К сожалению, разработчик, принявший это решение, не достаточно быстро проверил его, и, несмотря на ярлык, в конечном итоге умер мучительной смертью от рук лидера ниндзя ' Eviscerati Extremus Minus One».

Перевод? Дата указана за год до даты написания этой строки кода.

person Scott Hanselman    schedule 08.04.2009
comment
Вы спросили об этом дюжину человек? А потом ты удивляешься, почему ты занят... - person Will Dean; 09.04.2009
comment
Принято за вопрос Гу. - person Portman; 09.04.2009
comment
PS: Кто победит в битве между Джоном Скитом и Гу? - person Portman; 09.04.2009
comment
Гу. Четко. - person Kirschstein; 18.06.2009
comment
Ни один. Я думаю, они будут сражаться плечом к плечу. - person kbrimington; 24.08.2010
comment
Почему они не сделали это минимальным годом DateTime? Делая это так, как они, разработчики, работающие над ошибкой, могут подумать, что время было установлено другим разработчиком. Использование минимума DateTime будет намекать на то, что он установлен системой. - person Phil; 30.04.2014

Может быть, эта строка была написана 13 октября 1999 года, и они выбрали «вчера» как произвольную дату, которая всегда будет в прошлом.

person finnw    schedule 31.03.2009

Я не уверен, что это имеет какое-то отношение к разработке ASP.NET, но это был мой 26-й день рождения!

person Nick Haslam    schedule 03.04.2009
comment
С прошедшим днем ​​рождения! :П - person jcolebrand; 08.07.2017

Нет никакой пользы от какой-либо конкретной даты при установке даты истечения срока действия файла cookie. Любая дата в прошлом приведет к тому, что браузер удалит файл cookie.

Согласно Википедии:

  • Первез Мушарраф забирает власть в Пакистане у Наваза Шарифа в результате бескровного переворота.
  • День шести миллиардов: Рождение заявленного 6-миллиардного живого человека в мире.
  • Смерть Роберта Марсдена Хоупа, австралийского судьи и королевского комиссара (р. 1919)
  • Смерть Уилта Чемберлена, американского баскетболиста (р. 1936).

Из них наиболее вероятным мне кажется Уилт Ходулою. Возможно, автор был фанатом баскетбола.

person NilObject    schedule 31.03.2009
comment
Верно, так почему бы не 1 января 1900 года или что-то в этом роде? Кроме того, почему дата так близко в прошлом, а не что-то еще до изобретения ПК? - person Portman; 31.03.2009
comment
Возможно, чтобы избежать негативной эпохи. Возможно, ранний браузер неправильно обрабатывал ‹ 1970 (эпоха UNIX). Я предполагаю, что это, вероятно, пасхальное яйцо, хотя я сомневаюсь, что какая-либо из дат выше действительно является причиной :) - person NilObject; 31.03.2009
comment
Просто из любопытства, это совпадение, что Хоуп умерла в тот же день, когда родился 6-миллиардный человек? - person Flynn1179; 09.02.2015


Итак, похоже, никто из команды, кого я спрашивал, не знает. Угадайте, это был год на следующий день после Билла Гейтса 1998 PDC Keynote???

person    schedule 08.04.2009
comment
ScottGal на Stackoverflow!? Спасибо за расспросы. - person Portman; 08.04.2009

Я не думаю, что это существенно. Это может быть просто бессмысленная случайная дата в прошлом или что-то вроде дня рождения дочери разработчика — что-то, что имеет личное значение для того, кто писал код.

person karim79    schedule 31.03.2009

Если преобразовать 1999/10/12 в шестнадцатеричный формат, получится 7CF/A/C. Теперь вы можете сделать на нем ROT13, и у вас есть 2PS/N/P
Вероятно, иллюминаты... ;)

Я действительно не знаю, есть ли смысл в этой дате. Я так не думаю.

(CW для развлечения)

person    schedule 06.04.2009
comment
P=NP подтверждено. - person Gabriel; 28.06.2018

Очевидно, человек, написавший это, был большим поклонником выступления Билла Гейтса на Telecom '99. Да, вы помните тот: http://www.microsoft.com/presspass/exec/billg/speeches/1999/10-12telecom.aspx

person Doozer Blake    schedule 08.04.2009

Это 12.10.99 в Америке и 10.12.99 в Европе, что делает дату приятной запутанной. Никто не знает, будет ли это в декабре!

person Karl    schedule 03.04.2009
comment
Конструктор DateTime определенно принимает год, затем месяц, затем день. - person Portman; 03.04.2009

Точно так же, как "сколько лизов нужно, чтобы добраться до центра Tootsie Roll в Tootsie Pop". , мир, возможно, никогда не узнает.

person    schedule 08.04.2009