문제

물건을 간단하게 유지하기 위해 몇 가지 ASPX 페이지가 있습니다 ...

Page1.aspx - 세션 정보를 재설정합니다.
page2.aspx - 결과와 세션 변수를 설정하는 검색 양식.
page3.aspx, page4.aspx, page5.aspx - page2.aspx에 설정된 세션 변수가 필요합니다

우리가 찾은 것은 page2.aspx로로드하고 세션 변수를 설정하는 것입니다. Page1.aspx가 호출되고 세션을 재설정하고 있습니다. 그러나 page1.aspx는 page2.aspx가 아닌 브라우저에 나타납니다. 우리는 코드를 밟고 page1.aspx 및 page2.aspx의 page_load 이벤트에 중단 지점을 넣을 때만 이런 일이 일어나는 것을 발견 할 수 있었고 page.aspx가 섬기는 사람.

유용한 정보는 아마도 마스터 페이지를 사용하고 마스터 페이지에 page1.aspx에 대한 링크가 있습니다. 그 외에는 코드 기반에서 Page1.aspx에 대한 참조를 찾을 수 없습니다.

업데이트:
인증으로 인한 것일 수 있습니까? page2.aspx에 액세스하면 서버가 Page1.aspx에서 다시 인증 될 수 있습니까? 그게 전형적인가요?

도움이 되었습니까?

해결책

앤드류 팁에 감사드립니다.

우리는 무슨 일이 일어나고 있는지 알아 냈습니다 ... page1.aspx 응용 프로그램의 Asplice는 실제로 기본값입니다. Page2.aspx에서 다른 개발자는 SRC 속성이 정의되지 않은 페이지에 IMG 태그를 넣습니다. 따라서 page2.aspx가 실행되면 웹 사이트의 루트 레벨에있는 이미지를 찾고 있었고, 이렇게하면 Default.aspx (Page1)에서 코드가 트리거되어 세션을 닦아냅니다.

전반적으로 그것은 이렇게 보였습니다 ...

page2.aspx

<img src=""> <!-- this ended up triggering a call to Default.aspx, wiping the session -->

바라건대 그것은 다른 사람을 도울 수 있기를 바랍니다.

다른 팁

피들러를 시작하고 정상적으로 응용 프로그램을 실행하십시오. 발생하는 트래픽을 알려주고 다른 페이지로 리디렉션되는 페이지를 식별합니다. 경로를 알면 소스 코드를 조사하여 해당 경로가 존재하는 이유를 식별 할 수 있습니다.

응용 프로그램 도메인이 재활용 될 수 있으므로 모든 세션 변수가 손실되고 세션 변수가 누락 된 경우 방문자를 리디렉션 할 수 있습니까?

이 경우 빠른 수정으로 StatesErver를 사용하거나 SQL Server에 세션 변수를 저장할 수 있습니다. 애플리케이션 도메인은 매 순간마다 재활용되지 않아야하지만 "프로세스에"세션을 저장하는지 확인할 수 있습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top