У меня есть HttpModule, который я создал и запускаю на IIS 6 с использованием Windows Server 2003. Я могу отправлять файлы cookie в браузер, но я не могу их прочитать по следующему запросу, cookie всегда ноль.HttpModule не принимает файлы cookie на IIS 6
Если я запускаю этот модуль на IIS 7, он работает нормально. В настоящее время IIS 7 не является опцией, так как мы не переключились, и это нужно сделать, прежде чем это произойдет.
Кроме того, я уже пробовал использовать hook 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, lol. – James
приветствую вас, я знаю, почему вы грустите приложение IIS7 в порядке. Потому что вы используете интегрированный пул в IIS7. – zhengchun