asp.net httprequest가 null 일 수 있습니까? CurrentExecutionFilePath는 어떻습니까?

StackOverflow https://stackoverflow.com/questions/701426

  •  22-08-2019
  •  | 
  •  

문제

우리는 프로덕션 서버에서 이상한 버그를 받고 있습니다. 스택 추적이 있지만 선 번호는 없으므로 버그가있는 방법을 알고 있지만 정확한 선은 아닙니다. "객체 참조가 객체 인스턴스로 설정되지 않은 객체 참조"에 대한 불만입니다. 뭔가 널입니다.

코드를 살펴본 후, 내가 볼 수있는 두 명의 잠재적 인 범인은 다음과 같은 두 개의 연속 줄입니다.

string currentPath = this.Request.CurrentExecutionFilePath;
string[] parts = currentPath.Split('/');

요청이 null이거나 요청의 currentExecutionFilePath가 null 인 경우 던질 것입니다. 나는 이것이 일어날 수있을 때 (또는 심지어) 실제로 명확하지 않습니다. 내가 여기서 잘못된 나무를 짖고 있습니까? (이 코드는 페이지 라이프 사이클의로드 부분 중에 실행중인 것 같습니다).

도움이 되었습니까?

해결책

릴리스 빌드에 PDB 출력이 활성화되어 있습니까?

그렇다면 스택 추적에서 줄 번호를 얻으려면 PDB를 프로덕션 서버에만 배포하면됩니다.

(PDB와 DLL이 일치해야합니다)

다른 팁

첫 번째 스레드에서 스레드를 시작하면 요청 및/또는 httpcontext가 null 일 수 있습니다. (비동기 처리 등)

이상하게도 나는 원인을 찾을 수 없다면 생산 서버에서 null httprequest 오류 (많은 많은) 시간을 보았습니다.

나는 그것이 당신에게 전혀 쓸모가 없다는 것을 알고 있지만 단지 연대를 쓰고 있습니다 :)

내가 절반 기억할 수있는 한 가지 잠재적 인 것은 IIS와 관련이있는 것이었지만 루트를 /default.aspx에 맵핑하지 않는 것이었지만 다시 한번, 이것은 오래 전부터 이루어 졌으므로이 강력한 도움이되지 않는이 강요에 너무 많은 관심을 기울이지 마십시오 !!!

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