userId를 dataAccess 클래스에 전달하여 감사 작업을 수행해야하며이를 unitofwork 클래스에 주입하려고합니다. 세션. SessionAs<>
을 사용하여 서비스 클래스 내부에서 세션을 가져올 수 있지만 컨테이너에 unitofwork를 등록 할 때 userId를 전달할 수 있도록 Apphost에서 세션을 가져 오는 방법을 파악할 수 없습니다.AppHost 내부의 serviceStack 세션에 액세스하여 selfHosted 응용 프로그램의 ioc 삽입에 대한 userId를 얻습니다.
0
A
답변
0
세션은 들어오는 HTTP 요청에 종속적이므로 IOC에서 정적으로 사용할 수 없습니다 (들어오는 요청의 요청 컨텍스트 내에서 런타임에만). 권장되지 침묵 ASP.NET에서 호스팅 할 때
public class MyServices : Service
{
public IDependency Dependency { get; set; }
public object Any(Request request)
{
Dependency.Exec(request, base.SessionAs<CustomUserSession>());
}
}
, 당신이 할 수
은 결과적으로 그것의 필요로 할 때 대신, 당신의 의존성에 예를 전달해야하는 종속성으로 주입 할 수 없습니다 현재 요청 컨텍스트에 액세스하여 세션을 얻을 :
var session = HttpContext.Current.ToRequest().GetSession();
참고 :
HttpContext.Current
만 HTTP 요청의 컨텍스트에서 사용할 수 있습니다.
관련 문제
- 1. ServiceStack Funq IoC 바꾸기
- 2. 세션에 UserID를 저장 하시겠습니까?
- 3. ServiceStack - IOC 폐기
- 4. AngularJs + ServiceStack 응용 프로그램의 보안
- 5. ConnectionFilter에서 ServiceStack 세션에 액세스
- 6. Windows 모바일 응용 프로그램의 IoC/DI 컨테이너
- 7. 안드로이드는 응용 프로그램의 이전 버전의 데이터를 얻습니다
- 8. ServiceStack IoC DI 디자인이 별도의 프로젝트에서 문제를 해결합니다.
- 9. ServiceStack Custom CredentialsAuthProvider 내의 Ioc 컨테이너에 액세스
- 10. 다른 웹 응용 프로그램의 세션에 액세스
- 11. 자바 로봇은 다른 응용 프로그램의 초점을 얻습니다.
- 12. xml 노드에 액세스하여 값을 얻습니다. xpath
- 13. ASP.net 응용 프로그램의 쿠키 및 세션에 관한 질문
- 14. 대규모 루프 내부의 IOC 및 팩토리 패턴
- 15. 응용 프로그램 수준간에 UserID를 전달해야합니까?
- 16. 사용자가이 응용 프로그램을 시작할 때 응용 프로그램의 이름을 얻습니다.
- 17. ASP.NET 웹 API 응용 프로그램의 Autofac 멀티 테넌트 IoC 컨테이너
- 18. 응용 프로그램 세션에 대한 사용자 설정
- 19. WebSecurity.CreateUserAndAccount 생성 된 사용자에 대한 참조를 얻습니다.
- 20. ServiceStack - 정적 파일에 대한 무단 액세스를 방지합니다.
- 21. IHttpModule에서 세션에 액세스하여 response.redirect를 수행 할 수 있습니다.
- 22. ServiceStack 로깅 설정
- 23. asp.net C# DataTable에서 셀 값에 액세스하여 세션에 저장할 문자열로 Vars
- 24. PostgreSQL의 삽입에 대한 조건부 규칙
- 25. db에 레코드 삽입에 대한 도움말
- 26. 데이터 삽입에 대한 사전 점검
- 27. ServiceStack 자체 호스트 된 응용 프로그램 다시 시작
- 28. ServiceStack/Funq가 System.Boolean 예외를 해결할 수 없습니다.
- 29. ROW_NUMBER()에 대한 MySQL의 삽입에 대한
- 30. ID 열에 대한 삽입에 대한 트리거
빠른 응답을 주셔서 감사합니다. 그 말이 완벽합니다. 나는 글로벌 요청 필터에서 세션을 얻는 것을 고려하고 거기에서 passind했지만 제안 된 방법이 더 나은 옵션 인 것 같다. – rakesh