2010-07-23 3 views
1

У меня странное поведение в среде prod моего приложения. Prod env имеет 3 сервера, и на одном из серверов перенаправление страницы заставляет запускать событие Application_EndRequest; другие две работы, как ожидалось. Я хочу избежать события EndRequest, которое будет запущено при перенаправлении страницы. Я использую Response.Redirect (url). Я попытался использовать Response.Redirect (url, false); HttpContext.Current.ApplicationInstance.CompleteRequest(); Оба они запускают событие Endrequest. Я не уверен, насколько он специфичен только для этого сервера.Response.Redirect - Application_EndRequest

Настоящая проблема заключается в том, что переменные ключа сеанса сбрасываются, когда приложение запускается заново во время выполнения Response.Redirect, что приводит к ошибке приложения. Есть ли способ найти истинную причину этой проблемы? Я пытаюсь решить это в течение последних двух дней, но не добился успеха.

My Prod severs 64bit.

Может ли кто-нибудь помочь в этом отношении? Ваша помощь очень ценится. Благодарю. ~/Ananth

+0

Когда вы говорите, что «приложение начинается с», вы имеете в виду, что AppDomain перерабатывается? Потому что, если это так, я бы посмотрел, что это может случиться. – R0MANARMY

ответ

1

Если я неверно истолковал документацию (что возможно), я бы сказал, что она функционирует как сконструированная.

Redirect вызывает Конец, который вызывает исключение ThreadAbortException по завершении.

и

HttpResponse.End Method
Посылают все в настоящее время буферный вывод к клиенту, останавливает выполнение страницы и поднимают EndRequest события.

и

HttpApplication.EndRequest Event
Происходит в качестве последнего события в цепи HTTP трубопровода исполнения, когда ASP.NET отвечает на запрос.

Вы говорите «переадресовать здесь». ASP.NET записывает соответствующий заголовок в поток. Запрос выполнен, EndRequest должен выполнить.

+0

Спасибо за ваш ответ. Я смог обойти проблему, зеркалируя полную настройку с другого сервера prod. В любом случае, спасибо за ваш ответ. §Ananth – Ananth

+1

@Ananth: Если вы отследите, что вызвало сброс AppDomain, вы должны опубликовать его, если кто-то другой столкнется с той же проблемой. – R0MANARMY

Смежные вопросы