我在自定義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不會在響應中發回,而不需要重定向或刷新響應。