에서 상속 된 클래스가 있습니다. ID 위치는입니다. 내 수업에서 HttpContext에 액세스하는 가장 좋은 방법은 무엇입니까? HttpContext를 사용할 수있게되면 가능한 한 빨리 액세스하려고합니다. 요청 범위가 적용된 클래스에서 HttpContext를 액세스 중입니다.
나는 내 수업에 IWorkContextAccessor 에 대한 의존성 주입을 추가하고 생성자에서 액세스하려고했으나 는 getContext() 반환 후 널.
2
A
답변
1
현재 HttpContext를 사용하면 생성자 사람들을 액세스 할 수 없습니다 있도록 IoC 컨테이너 객체가 생성 얻을 후 IWorkContextAccessor 객체를 통해 사용할 수 있습니다. 가장 좋은 방법은 컨텍스트 객체에 액세스 할 때입니다. 이전에는 사용하지 않았습니다. 특히 이 아니라이 컨스트럭터 내에 있습니다. 생성자는 Autofac에서 매우 일찍 호출됩니다.
또한 IOrchardServices 객체 를 주입 할 수있는 services.WorkContext.HttpContext 개체를 사용하여 다음과 (의는 "서비스"를 부르 자).
달성하고자하는 목표에 좀 더 자세하게 설명해 주시겠습니까? 왜 그렇게 빨리 접근하고 싶습니까? 컨텍스트 객체가 나중에 사용되도록 다시 작성할 수 없습니까 (예 : 일부 메소드 호출에서)?
HTH
관련 문제
- 1. 기본 클래스의 파생 클래스에서 메서드에 적용된 특성에 액세스
- 2. PHP가 배열에 액세스 중입니다.
- 3. 416 요청 된 범위가 만족스럽지 않음
- 4. 대기 요청 범위가 지정된 브로드 캐스트
- 5. Apache + Passenger - Apache가 실행 중입니다. 그러나 요청
- 6. 배열에 적용된 수학 수식의 값을 출력하려고 시도 중입니다. [Jquery]
- 7. dllplugin에서 Treeview에 액세스 중입니다. C#
- 8. 항목에 액세스 중입니다. Outlook VBA
- 9. iOS4가 DCIM 폴더에 액세스 중입니다.
- 10. 구현 클래스에서 컨트롤에 액세스
- 11. 다른 클래스에서 NSMutableArray에 액세스
- 12. Flex : 클래스에서 MXML에 액세스
- 13. 자식 클래스에서 UITableView에 액세스
- 14. libClient 클라이언트 액세스 정책이 적용된 CrossDomainError
- 15. HttpContext를 사용하는 WCF 서비스
- 16. 새 HttpContext를 만들려면 어떻게해야합니까?
- 17. HttpContext를 .Current는 아무것도
- 18. Sitecore.Context.Item은 HttpContext를 사용합니까?
- 19. backend.get_user에서 액세스 요청 세션.
- 20. PHP에는 어떤 종류의 요청 및 응답 범위가 있습니까?
- 21. 값을 캐시하는 데 사용할 수있는 WCF 요청 별 범위가 있습니까?
- 22. 비 IIS 호스팅 WCF 서비스에 대한 범위가 지정된 캐싱 요청
- 23. 종속 기본 클래스에서 형식 액세스
- 24. 하위 클래스에서 문자열 리소스에 액세스
- 25. 별도의 클래스에서 페이지 컨트롤에 액세스
- 26. 클래스의 다른 클래스에서 NSMutableArray에 액세스
- 27. 내부 클래스에서 클래스 객체에 액세스
- 28. NSMutableDictionary 다른 클래스에서 액세스 중
- 29. Tkinter 캔버스 별도의 클래스에서 액세스
- 30. 다른 클래스에서 Graphics 객체에 액세스
내가 뭘하려고 노력했는지에 대해 좀 알려주게. ** DefaultCultureManager ** 클래스를 사용자 정의하고 있습니다. 의도는 문화 선택 로직을 ** GetCurrentCulture ** 메소드에서 ** HttpContext **가 사용 가능할 때 한 번만 호출되는 다른 개인 메소드로 이동시키는 것입니다. 이유는 ** GetCurrentCulture ** 메서드가 너무 자주 호출되기 때문입니다. ** BeginRequest **와 같은 응용 프로그램 수준 이벤트를 집계하고 ** DefaultCultureManager **에서 액세스 할 수 있지만 아무 것도 찾지 못한 구성 요소를 찾았습니다. –
** GetCurrentCulture ** 메서드가 호출 될 때마다 현재 문화권을 검색하면 성능에 미치는 영향을 최소화 하시겠습니까? 가장 좋은 옵션은 선명도와 모범 사례 측면에서 ** ICacheManager **를 통해 캐싱을 사용하는 것입니다. 메서드가 처음 호출되면 이후의 호출에서 캐시가 만들어지고 검색됩니다. Afaik에는 "라이프 사이클"이벤트에 쉽게 연결할 수있는 방법이 없지만 팀에서 작업 할 것입니다 (이러한 기능의 필요성은 몇 번 언급되었습니다). –
아주 좋은 설명, 너무 많은 시간을 절약 검색. –