作成した HttpModule があり、Windows Server 2003 を使用して IIS 6 で実行しています。Cookie をブラウザーに送信できますが、次の要求で読み取ることができません。Cookie は常に null です。
ただし、このモジュールを 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]
}
}