다음과 같이 내가이 사건에 가입 재정의 HttpApplication.Init()
방법은 이벤트 핸들러를 통과 한 후 눈에 띄는 이유 응답 : 하나는
public override void Init()
{
base.Init();
BeginRequest += AnUsefulClass.OnBeginRequest;
PreSendRequestHeaders += AnUsefulClass.OnPreSendRequestHeaders;
}
그래서 나는 약간 임시 헤더를 추가 할 싶어요. 문제는
한 말, 밖으로에 대한 응답, 30 개 들어오는 요청에도 성공적으로이 이벤트 핸들러 내의 짜릿한 논리가없는
(IIS 로그 및 저널에 따라) 처리 (하지만했다되고있는 달려 있습니다 것입니다 이전의 과정) :
public static void OnBeginRequest(object sender, EventArgs e)
{
//lock (Lock)
{
try
{
var app = sender as HttpApplication;
if (app == null) return;
// the logic was here
}
catch { }
}
}
public static void OnPreSendRequestHeaders(object sender, EventArgs e)
{
//lock (Lock)
{
try
{
var app = sender as HttpApplication;
if (app == null) return;
var context = app.Context;
var response = context.Response;
// the logic was here
}
catch { }
}
}
그래도 같은 결과 IHttpModule
의 사용자 정의 구현을 적용하려고 노력했다.
은 실패한 요청 추적은 다음과 같은 꼬리와 보고서를 IIS :
=====================================================================================================================
167. GENERAL_FLUSH_RESPONSE_END BytesSent="782", ErrorCode="The operation completed successfully. (0x0)" 08:30:26.936
=====================================================================================================================
168. AspNetHttpHandlerLeave 08:30:26.936
=====================================================================================================================
그러나 아무것도 더. 게다가 거기에 의심스러운 단어가 보이지 않습니다. 나를 위해 그것은 응답을 기다리는 것이 영원히 필요합니다. 어제의 것들은 여전히 집으로 가고 있습니다 :)
도움을 주시면 감사하겠습니다.
게시 한 정확한 코드가 여전히 문제의 원인입니까? – Yura
@Yura 네, 맞습니다. 그것은 아무것도하지 않습니다. –
이 이벤트 처리기를 제거하면 코드가 멈추지 않는 것을 확인할 수 있습니까? 당신이 묘사 한 것 (결코 리턴되지 않는 응답)은 컨트롤러 로직의 어딘가에서 교착 상태의 증상처럼 보입니다. – Yura