초록이 붙어있는 상태에서 빨간색을 호출 할 수있는 상황이 있습니까? 방법 자체는 반환되지 않았기 때문에 여전히 코드에 도달한다 단위 테스트 범위, 모양Response.Redirect unreachable code
0
A
답변
4
. 그러나 사용중인 자동 테스트가 실제로 HTTP 컨텍스트에 참여하는 경우 응답이 끝나면 다른 코드에 도달하지 않습니다.
당신은 Redirect()
에 false
를 전달하여 끝에서 응답을 방지 할 수 있습니다 :
Response.Redirect(PageRedirect, false);
그러나이 아마 나쁜 생각이다. 이 코드가 수행하는 논리적 인 흐름을 고려하십시오. 리디렉션은 끝 응답이어야합니다. 더 많은 서버 측 처리가 필요하다면 끝내지 않을 수도 있지만 꽤 직관력이 떨어지는 경우가 있습니다. 그러나 해당 서버 측 프로세싱이 이고 다른 리디렉션 인 경우, 그게 무엇일까요? 사용자를 두 번 리디렉션 하시겠습니까? 한 번 리디렉션하고 두 번째를 무시 하시겠습니까? 첫 번째를 무시하고 두 번째 리디렉션을 수행 하시겠습니까? 꽤 직관력이 없습니다.
응답 이 리디렉션에서을 종료하도록 코드를 구성하는 것이 좋습니다. 기술적으로는 return
이 아니지만이 컨텍스트에서는 논리적으로 하나처럼 취급해야합니다.
1
HttpResponse.Redirect(url)
이 실행되지 않으면 대부분의 코드 분석기가 코드를 알아 내지 못합니다. 따라서 컴파일러/분석가가 빨간색 코드가 잘못된 것일 수도 있습니다.
실수로 더 많은 요청 처리 코드를 실행하지 않으려면 항상 ThreadAbort
예외가 throw됩니다. HttpResponse.Redirect.
관련 문제
- 1. ImageView inflater unreachable code
- 2. Java 8 Unreachable Code
- 3. Unreachable code-preprocessor settings 사용법
- 4. Response.Redirect
- 5. "scala : unreachable code"하지만 줄 번호 나 힌트가 없습니까?
- 6. Gitlab external_url unreachable
- 7. ICMP Host-Unreachable
- 8. Javacc Unreachable Statement
- 9. Reaptcha unreachable Rails
- 10. Asp.net Response.Redirect
- 11. Response.WriteFile & Response.Redirect
- 12. Response.Redirect C에서 #
- 13. Response.Redirect Interception
- 14. Response.Redirect - Application_EndRequest
- 15. Response.Redirect and javascript ajax call
- 16. response.redirect 및 catch 블록에 넣으십시오.
- 17. Response.Redirect()가 작동하지 않습니다.
- 18. Response.Redirect 다음에 함수 호출하기
- 19. Response.Redirect HTTP 상태 코드
- 20. Response.Redirect in HttpModule
- 21. Response.Redirect Ajax 코드 숨김
- 22. Response.Redirect throw Error 오류
- 23. Response.Redirect and masterpage
- 24. asp.net : response.redirect - threadabortedexception 처리
- 25. Response.Redirect()의 IFrame 문제
- 26. PostBackUrl Vs Response.Redirect
- 27. 로그인 제어 - Response.Redirect
- 28. response.redirect 전에 코드 실행
- 29. asp.net response.redirect validation을 피하십시오.
- 30. Asp.net Response.Redirect Azure
이 스 니펫 아래의 코드는 예외없이 실행하려면 "A"= true이고 그 아래에 "A"= false이면 빨간색 선을 제거하고 녹색 선을 변경하면 예외가 throw됩니다. Response.Redirect PageRedirect, false); Context.ApplicationInstance.CompleteRequest(); – sammarcow
@sammarcow : 당신이 무엇을 요구하고 있는지 분명하지 않습니다. 요점을 보여주는 코드 샘플로 질문을 업데이트 할 수 있습니까? 어쨌든 내가 제안하는 바는 리디렉션 아래에 추가 코드가 있어서는 안된다는 것입니다. 웹 응용 프로그램의 논리적 컨텍스트에서 리디렉션은 종료 조건이어야합니다. – David