2017-12-06 19 views
0

클래스에서 컨트롤러 메서드를 호출하고 컨트롤러에 요청하지 않고 컨트롤러 컨텍스트를 가져 오려고합니다. 그렇게 할 수있는 방법은 무엇입니까?클래스에서 컨트롤러 메서드를 호출하고 컨트롤러에 요청하지 않고 컨트롤러 컨텍스트를 가져오고 싶습니까?

컨트롤러 클래스의 개체를 만들어 메서드를 호출 할 수 있지만 컨트롤러의 컨텍스트를 가져올 수 없습니다.

var controllerObj = new HomeController() 
controllerObj.methodA(); 

methodA 요청 컨텍스트를 사용할 수 없습니다.

답변

0

DependencyResolver을 사용하여 클래스에서 Controller의 인스턴스를 가져옵니다.

Reference

+0

이미 그런 짓을하지만, 당신의 대답은 정확 정도로 나는 그것이 올바른 표시하고

public class Example { public static void CallActionMethod() { var controller = DependencyResolver.Current.GetService<AboutController>(); controller.ControllerContext = new ControllerContext(System.Web.HttpContext.Current .Request.RequestContext, controller); controller.Index(); } } 
. –