2014-04-06 9 views
0

내 ASPX 웹 사이트에는 CSS 파일과 JS 파일이 ASHX 파일로 연결되어 있습니다. 예를 들어 <script type="application/javascript" src="/JavaScript.ashx"></script>을 내 마크 업에 넣었습니다. Chrome에서 웹 사이트 (애드온없이 최신 버전)를 디버깅 할 때 전체 라이프 사이클을 다시 호출합니다.ASPX-Handler가 전체 웹 사이트 수명주기를 다시 호출합니다.

테스트 목적으로 처리기의 ProcessRequest 메소드를 지우고 직접 액세스했습니다. (http://localhost:1234/JavaScript.aspx). 내 처리기가 ProcessRequest 메서드를 완료 한 후 Default.aspx의 Default() 생성자로 이동합니다 (이후 전체 수명주기를 계속 실행 함). Chrome이 요청을 한 후에 알 수없는 이유로 백그라운드에서 액세스 (http://localhost:1234/)하고 IsPostBack = falseIsCallback = false과 함께 내 Default.aspx의 수명주기를 별도로 호출했다고 생각합니다.

이상한 일은 Internet Explorer 11에 있습니다.이 문제는 발생하지 않습니다.

어떻게 될 수 있습니까? 이 문제는 Chrome에서만 발생합니까? 라이브 버전을 사용할 때 표시 되나요? 해결 방법이 있습니까?

+0

요청마다 'HttpContext.Current.Request.RawUrl'을 확인 했습니까? 게시물에 문제가 무엇인지 알려주는 정보가 없습니다. 문제를 보여주는 샘플 코드가없고 요청 된 URL이 없습니다. 'ProcessRequest'의 코드가 Chrome 사용자 에이전트를 확인하고 302로 리디렉션합니다. 집. –

+0

문제는 새 프로젝트에서 이것을 재현 할 수 없다는 것입니다. 따라서 코드에 뭔가 있어야합니다. RawUrl은 내 처리기의 경우'/ JavaScript.ashx'이고, 원하지 않는 My Default.aspx를 호출 한 후에'/'입니다. 마스터 페이지와 콘텐츠 페이지에는 많은 코드가 있지만 ASHX 파일을 직접 호출하기 때문에이 코드와 관련이 있다고 상상할 수 없습니다. 그래서 나는 ASPX와 MASTER 파일의 이름을 바꾸고 어떤 일이 일어나기로 결정했다. 아무 것도 아니다. ProcessRequest를 통해 처리가 끝나고, 어떤 메소드도 호출하지 않는다. 어쩌면 이것이 구성 문제 일 수 있습니다. – modiX

+0

좋아요, 문제가 발견되었습니다. Chrome이 404를 가정 한 이유가 궁금합니다 ... – modiX

답변

0

가 좋아 나는 그것이 발생 된 것을 발견 : 내 Web.config의이

<customErrors mode="On" redirectMode="ResponseRedirect"> 
     <error statusCode="404" redirect="/" /> 
    </customErrors> 

<system.webServer> 
    <httpErrors errorMode="Custom"> 
     <remove statusCode="404" /> 
     <error statusCode="404" path="/" responseMode="Redirect" /> 
    </httpErrors> 
</system.webServer> 

를 포함 난 그 404 개 응답을 처리 할 수있는 길을 잘못 알고,하지만 난에이 아니었다 그것을 떠나는 방법. 내 처리기가 콘텐츠를 반환하더라도 Chrome이 404 응답을받는 이유가 궁금합니다. 이것이 "/"로 전달하여 내 라이프 사이클을 반복하는 유일한 이유이기 때문입니다.