순수 호기심 때문에 현재 HttpRequest
/Action으로 실행되는 동안 정적 컨텍스트에서 현재 컨트롤러에 액세스 할 수 있습니까?현재 컨트롤러에 정적으로 액세스 할 수 있습니까?
답변
아니요. 여러 동시 요청에 대해 여러 컨트롤러가 특정 시점에 실행될 수 있기 때문에 정적 컨텍스트에서는 불가능합니다.
나는 많은 것을 알았다. 나는 이것을 할 특별한 방법이 있는지 확실하지 않았다. 어쨌든, 나는 나의 디자인이 결함이 있다는 것을 깨닫고 그것을 다시 만들었다. 그래서 나는이 요구 사항을 필요로하지 않는다. 확인 감사합니다! – TheCloudlessSky
정적으로 수행하는 방법을 모르지만 일부 세션/인증 관리를 처리하는 동안이 작업을 수행 할 때 모든 컨트롤러가 System.Web.Mvc에서 상속되는 사용자 지정 BaseController 클래스를 상속받습니다. 컨트롤러 클래스. 기본 컨트롤러 클래스에서 OnActionExecuted 메서드를 재정의합니다.
public class BaseController : Controller
{
protected override void OnActionExecuted(ActionExecutedContext filterContext)
{
//Your logic here
base.OnActionExecuted(filterContext);
}
}
public class HomeController : BaseController
{
//
// GET: /Home/
public ActionResult Index()
{
return View();
}
}
고마워요,하지만'ModelStateDictionary'에 대한 래퍼를 만들고 있어요. 그리고 컨트롤러의'ModelState' 속성이 서비스 내부에서 사용될 수 있도록 "현재 컨트롤러"를 삽입하려고합니다. 해야 할 것. – TheCloudlessSky
참조 http://stackoverflow.com/questions/3873530/inject-asp-net-mvc-controller-property-into-service-layer-dependency 및 http://stackoverflow.com/questions/2077055/ioc-on- ivalidationdictionary-with-castle-windsor 자세한 내용은 – TheCloudlessSky
아, 재미 있습니다. 행운을 빌어 요! – used2could
- 1. Tabbar가 내비게이션 컨트롤러에 액세스 할 수 없습니다.
- 2. 리소스를 다른 컨트롤러에 매핑 할 수 있습니까?
- 3. 어떻게하면 X11을 정적으로 컴파일 할 수 있습니까?
- 4. 대체 컨트롤 내에서 현재 세션에 액세스 할 수 있습니까?
- 5. DAO는 현재 Sql Server 버전의 스키마에 액세스 할 수 있습니까?
- 6. 서식 파일에서 현재 사이트에 액세스 할 수 있습니까?
- 7. Xcode는 이전 버전의 프레임 워크와 정적으로 빌드 할 수 있습니까?
- 8. 공유 객체에 대해 정적으로 링크 할 수 있습니까?
- 9. 루트 도메인 URL을 Grails의 컨트롤러에 매핑 할 수 있습니까?
- 10. xml을 액세스 할 수 있습니까?
- 11. DIFFERENT 스레드의 TLS에 액세스 할 수 있습니까?
- 12. EJB 모듈에서 HttpSession에 액세스 할 수 있습니까?
- 13. 템플릿으로 FormView를 사용할 때 컨트롤을 정적으로 참조 할 수 있습니까?
- 14. C의 구조체에서 char *를 정적으로 초기화 할 수 있습니까?
- 15. 이벤트를 정적으로 선언 할 수 있습니까? 그렇다면 어떻게 그리고 왜
- 16. 클래스를 C++에서 정적으로 선언 할 수 있습니까?
- 17. Apache2는 로그인해야하지만 PHP에 액세스 할 수 있습니까?
- 18. HTTPModule에서 세션 상태에 액세스 할 수 있습니까?
- 19. 특정 내가에만 액세스 할 수/일을하고 싶습니다
- 20. 일부 라이브러리를 libtool과 정적으로 연결할 수 있습니까?
- 21. 도우미 클래스가 컨트롤러에 혼합되어 있습니까?
- 22. 내 awstats에 액세스 할 수 awstats에 액세스 할 수
- 23. 가변 배열 생성 어디서나 아이폰의 뷰 컨트롤러에 액세스 할 수 있습니까?
- 24. Xcode4에서 현재 파일을 "테스트"할 수 있습니까?
- 25. 현재 사용자를 IronPython으로 가장 할 수 있습니까?
- 26. 현재 클래스로 deserialize 할 수 있습니까?
- 27. jQuery는 ASP.NET MVC에서 ViewModel의 POST를 컨트롤러에 할 수 있습니까?
- 28. 보기 컨트롤러에 탐색 컨트롤러를 추가 할 수 있습니까?
- 29. 컨트롤러에 열거 형을 전달하여 모델 바인더가 바인드 할 수 있습니까?
- 30. 아이폰 기본 주소록보기 컨트롤러에 여분의 단추를 추가 할 수 있습니까?
질문에 used2could의 답변에 대한 의견을 요약하면 "호기심"이외의 컨텍스트가있는 것이 좋습니다. :) –
@ Daniel - Understood :)하지만 그 링크를 따라 가면 정확한 컨텍스트입니다. 나는 얘기하고 있었다. 분명히 많은 컨트롤러가 어느 지점에서나 실행될 수 있기 때문에 이것이 가능하지 않다고 생각했지만, 나는 단지 물어볼 것이라고 생각했습니다. – TheCloudlessSky