콘솔 프로젝트에서 단일 모듈로 간단한 자체 호스팅 Nancy 사이트를 만들었습니다. 테스트 할 때 각 요청마다 모듈 생성자가 호출된다는 것을 알았습니다. ctor는 경로가 등록 된 곳이기도하기 때문에이 퍼즐이 난다. 그건 나에게 의미가 없으며 나는 뭔가를 놓치고 있어야합니다. 모듈 생성자는 각 요청에서 호출되며 모든 요청에 따라 다시 등록됩니다.각 요청마다 nancyfx의 모듈이 실제로 생성됩니까?
답변
정렬 - Nancy는 시작할 때 모든 모듈을 구성하고 모든 경로를 등록하고 라우팅 트리를 작성합니다. 그러면 각 요청에 대해 필요한 모듈을 찾아서 요청 컨테이너를 사용하여 구성하므로 요청 범위가있는 종속성에 올바른 수명이 있고 관련 작업이 실행됩니다. 경로는 요청마다 "등록"되지 않고 모듈의 모음에 저장되며 엔진은 올바른 것을 실행합니다.
그러나 (우리는 어떤 경로가 요청과 일치하는지 알기 때문에) 필요하지 않지만 모든 경로가 각 요청 이벤트의 DynamicDictionary에 복원됩니까? 그렇다면 이것은 필요하지 않은 요청에 대한 작업을 수행하는 것이 이상하게 보입니다. 각 요청마다 가능한 한 적게 라우팅되도록 ctor보다 경로를 등록하는 더 좋은 방법이 있습니까? –
또한, 모듈에 많은 경로를 가지고 있지 않는 것이 현명하지만 더 적은 경로로 더 많은 모드를 가질 수 있습니다. –
아주 작은 차이가 있습니다. 각 모듈에 수백만 개의 모듈과 수천 개의 경로로로드 테스트를 수행했습니다. 그러나 일반적으로 우리는 사람들을 모으기보다는 모듈을 기능 영역/리소스로 분해하는 것을 "정상적으로"보았습니다. –
- 1. 각 요청마다 레일이 다시로드되지 않습니다.
- 2. 각 요청마다 ASP.Net이 다시 작성됩니다.
- 3. 각 요청마다 새 인스턴스를 작성해야합니까?
- 4. 각 요청마다 다른 데이터 표시
- 5. 정적 초기화가 각 요청마다 반복됩니까?
- 6. 각 요청마다 새 컨트롤러 인스턴스가 있습니까?
- 7. java sessions - 실제로 세션이 언제 생성됩니까?
- 8. OWIN OAuth 2 토큰은 실제로 어떻게 생성됩니까?
- 9. 모듈이 각 컨트롤러 검사
- 10. 각 모듈이 작동하지 않습니다.
- 11. 각 요청마다 사용자 데이터 가져 오기
- 12. 각 요청마다 passport.serializeUser가 실행되는 이유는 무엇입니까?
- 13. Java EE 클러스터는 각 요청마다 JSESSIONID를 변경합니다.
- 14. 각 요청마다 플러그인을 강제로 다시로드하려면 어떻게해야합니까?
- 15. 각 요청마다 새로운 Struts Action 클래스를 만들어야합니까?
- 16. Symfony의 각 요청마다 parameters.yml이 다릅니 까?
- 17. 각 요청마다 매우 큰 오브젝트가 덤프 됨
- 18. PHP의 각 요청마다 타임 스탬프를 어떻게 업데이트합니까?
- 19. 각 요청마다 서버에 쿠키 보내기를 중지하는 방법
- 20. .NET IHttpHandlers - 각 AJAX 요청마다 다른 세션
- 21. 각 요청마다 CakePHP 세션이 새로 고침됩니다.
- 22. NancyFx의 동적 경로
- 23. 각 이미지의 미리보기 이미지는 어떻게 생성됩니까?
- 24. 각 엔티티는 각각의 데이터베이스에서 어떻게 생성됩니까?
- 25. 각 요청마다 새 세션 ID를 할당하는 것이 좋습니다.
- 26. 각 요청마다 Glassfish가 새 세션을 작성하지 않게하려면 어떻게해야합니까?
- 27. GPS 위치는 배열에 저장되고 각 요청마다 하나씩 전송됩니다.
- 28. 요청마다 ASP.NET을 추적하는 방법
- 29. 요청마다 새로운 HttpSession이 필요하십니까?
- 30. 각 요청마다 tiles.xml을 다시로드하려면 Struts의 devMode와 같은 타일 devMode를 사용하십시오.
나는 이것에 대해서도 우려했다. 경로가 적고 의존성에 대한 정보가 많아서 비용이 많이 듭니다. 그래서 정적 속성을 설정하여 구조 간의 종속성을 캐싱했습니다. 그런 다음 첫 번째 테스트의 부트 스트 래퍼가 모든 후속 테스트에 사용 되었기 때문에 많은 테스트가 실패했습니다. –