我想从类中调用 Controller 方法并获取 Controller 上下文而不向 Controller 发出请求。有哪些可行的方法?
我可以通过创建 Controller 类的对象来调用方法,但我无法获取 Controller 的上下文。
var controllerObj = new HomeController()
controllerObj.methodA();
并且在 methodA
中请求上下文不可用。
最佳答案
使用 DependencyResolver 获取类中 Controller
的实例.
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();
}
}
关于c# - 想从类中调用 Controller 方法并在不向 Controller 发出请求的情况下获取 Controller 上下文?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47668124/