MVC.NET HttpSessionStateWrapper - 最佳使用方法是什么?

时间:2013-02-06 07:55:23

标签: c# asp.net-mvc-4 httprequest httpcontext

我们正在开发大型MVC项目,我们有一个强度,使用HttpSessionStateWrapper(以及HttpRequestWrapper,HttpResponseWrapper等)来添加扩展功能来做这个对象。它将添加会话消息,附加集合,带有响应的html元数据 - 类似的东西,可以从控制器管理,并在需要时在视图中访问。

我已经在一个较小的项目中完成了它并且它通常运行良好,除了一些铸造问题在这里和那里,但它可以通过不使用控制器外部包装或最终视图来解决。每个控制器都是一个自定义控制器,其代码如下:

public class Controller : System.Web.Mvc.Controller
{
    public new CustomHttpResponse Response
    {
        get
        {
            return (CustomHttpResponse)HttpContext.Response;
        }
    }

    public new CustomHttpRequestRequest
    {
        get
        {
            return (CustomHttpRequestRequest)HttpContext.Request;
        }
    }
    //etc...

}

ContextWrapper将在自定义MvcHandler中创建。响应,请求和会话包装器将从ContextWrapper创建并获取。

这是一个很好的策略,使用包装器来扩展功能,还是仅用于创建测试模拟的?

0 个答案:

没有答案