Срок действия файлов cookie не работает в C #

Я пытаюсь сделать постоянный файл cookie, используя C # 4.0 и этот код:

HttpCookie AssoCookie = new HttpCookie("AssociateCode", AssociateCode);
AssoCookie.Expires = DateTime.Now.AddMonths(6);
HttpContext.Current.Response.Cookies.Add(AssoCookie);

К сожалению, это не работает, и cookie истекает сессия. Если я использую плагин Web Developer в Firefox, чтобы проверить его, я вижу эту информацию:

Name    AssociateCode
Value   test
Host    localhost
Path    /
Secure  No
Expires At End Of Session

Файл cookie, который я создаю в качестве теста, только что создан там, никто другой не управляет им и не редактирует его, поэтому он не может быть перезаписан. У меня ничего не настроено в webconfig, чтобы установить срок действия файлов cookie (в любом случае это должно переопределить это), и если я установлю время истечения срока действия некоторых файлов cookie, это не сработает.

Я немного растерялся, каждое руководство, учебник, блог, что бы я ни проверял, говорит, что вам просто нужно установить дату окончания срока действия, я отлажен, я проверил, что оно действительно имеет это значение при создании и в конце Page_PreRender, но это просто истекает сессией, что бы я ни делал.

Есть идеи?

Я использую Firefox 9.0.1, кстати.

Обновить

Используя плагин Firebug в Firefox для проверки заголовков ответов, я получаю это:

Response Headersview source
Cache-Control   private
Connection  Close
Content-Length  21322
Content-Type    text/html; charset=utf-8
Date    Mon, 23 Jan 2012 16:47:08 GMT
Server  ASP.NET Development Server/10.0.0.0
Set-Cookie  AssociateCode=test; expires=Mon, 23-Jul-2012 16:09:04 GMT; path=/
X-AspNet-Version    4.0.30319

И используя Fiddler я получаю это:

HTTP/1.1 200 OK
Cache-Control: private
Content-Type: text/html; charset=utf-8
Server: Microsoft-IIS/7.5
X-AspNet-Version: 4.0.30319
Set-Cookie: AssociateCode=; expires=Mon, 23-Jul-2012 16:27:29 GMT; path=/
X-Powered-By: ASP.NET
Date: Mon, 23 Jan 2012 17:27:29 GMT
Content-Length: 21313

** Обновление 2 ** Я проверяю, что Cookie не существует, просто проверяя файлы cookie моего Firefox, но, на случай, если вы захотите узнать, как я получу его позже в коде (не обязательно, так как его там нет в любом случае):

try {
    AssociateCode = HttpContext.Current.Request.Cookies.Get("AssociateCode").Value;
} catch { }

Ответы на вопрос(3)

Ваш ответ на вопрос