Windows Server 2003を使用してIIS 6で作成したHttpModuleがあります。ブラウザにはCookieを送信できますが、次の要求ではCookieを読み取ることができません。ヌル。HttpModuleがIIS 6でCookieを受信していない
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]
}
}
ありがとうございました。これは、私が静的なファイルリクエストに対してクッキーを送ることができなかった問題の本当の根に私を導いた。私のオリジナルのリクエストは、クッキーを設定するために.aspまたは.aspxファイルでなければなりません。そして、私のHttpModuleは必要に応じてクッキーを読むことができます。最初の情報が不足して申し訳ありませんが、私は実際にサーバーがcookieを読んでいると誓っていました。 – James
あなたは歓迎です、なぜ私はあなたがIIS7で統合されたプールを使用するため、大丈夫ですIIS7を実行しているアプリケーションを悲しい知っている。 – zhengchun