如何将Session和Request依赖项传递给MVC控制器?

时间:2014-02-05 09:00:22

标签: c# asp.net-mvc

我有一个使用Request和Session对象的MVC Action。

public ActionResult Index()
        {            
            string eventTypeId = Request.QueryString[QueryStringFor.EventTypeId];

            Session["eventTypeId"] = eventTypeId; 

            return View();
        }

如何使此动作单元可测试?

我应该在控制器初始化时传递和注入吗?

我正在使用ControllerBuilder手动构建我的控制器(目前不使用IOC)

ControllerBuilder.Current.SetControllerFactory(new DefaultControllerFactory(new EvaluationCompositionRoot()));

 public class EvaluationCompositionRoot : IControllerActivator
    {
        public IController Create(RequestContext requestContext, Type controllerType)
        {

1 个答案:

答案 0 :(得分:1)

在asp.net mvc中,请求和会话已经分别是派生自HttpRequestBaseHttpSessionStateBase 的类的对象。在单元测试期间不应该存在模拟这些对象的问题