2014-02-18 55 views
1

我在自定義http模塊中設置Cookie時出現問題。我處理BeginRequest事件並設置沿着這些線路的餅乾:在HTTP模塊中設置Cookie

HttpCookie myCookie = new HttpCookie(config.CookieName);

SitePrefCookie["key1"] = value1;

SitePrefCookie["key2"] = value2;

SitePrefCookie.Expires = DateTime.Now.AddDays(365);

SitePrefCookie.Domain = myDomain;

SitePrefCookie.Path = "/";

HttpContext.Current.Response.Cookies.Add(SitePrefCookie);

我知道有沒有錯cookie自身的,因爲它會工作,如果我打電話Response.Flush()或狀態設置爲302(因爲它是對重定向HTTP模塊)。但我不能在一個請求中執行這兩個操作,例如刷新然後重定向,因爲ASP.Net會報告已經發送給客戶端的頭文件。

我敢肯定,我可以解決這個奇怪的限制,但我不明白爲什麼cookie不會在響應中發回,而不需要重定向或刷新響應。

回答