我有我創建並使用Windows Server 2003中,我可以送餅乾給瀏覽器,但我不能在下一次請求讀取它們在IIS 6正在運行一個HttpModule,cookie是永遠空值。的HttpModule不是IIS接收緩存6
如果我運行IIS 7此模塊雖然,它工作得很好。因爲我們還沒有切換,所以IIS 7現在不是一個選項,需要在這之前完成。
而且,我已經嘗試過使用PostAcquireRequestState鉤。
public void Init(HttpApplication httpApp)
{
httpApp.BeginRequest += OnBeginRequest;
}
public void OnBeginRequest(Object sender, EventArgs e)
{
var httpApp = (HttpApplication)sender;
var context = httpApp.Context;
const string cookieName = "sId";
if (!string.IsNullOrEmpty(context.Request.QueryString["cookie"]))
{
var ck = new HttpCookie(cookieName)
{
Value = httpApp.Context.Request.QueryString["cookie"],
Expires = DateTime.Now.AddDays(1)
};
httpApp.Response.Cookies.Add(ck);
}
else
{
var cookie = httpApp.Request.Cookies[cookieName]
}
}
非常感謝您的幫助。這導致了我的問題的真正根源,我無法通過靜態文件請求發送Cookie。我的原始請求需要是.asp或.aspx文件才能設置cookie,然後我的HttpModule可以根據需要讀取Cookie。對不起,一開始我就錯過了一些信息,我可以發誓服務器實際上是在讀取cookie,哈哈。 – James 2012-03-29 14:09:41
你是受歡迎的,我知道你爲什麼傷心運行IIS7的應用程序是好的。因爲你在IIS7中使用集成池。 – zhengchun 2012-03-30 01:51:27