您的位置:首页 > 编程学习 > ASP.NET > 正文

httpcontextbase 与 httpcontext

更多 时间:2016-3-27 类别:编程学习 浏览量:1255

httpcontextbase 与 httpcontext

httpcontextbase 与 httpcontext

在处理请求执行链的各个阶段中,会有一个对象在各个对象之间进行传递,也即会保存请求的上下文信息,这个对象就是HttpContext对象。HttpContext封装了ASP.NET要处理的单次请求的所有信息。

由于HttpContext很难进行Mock,因此为了提高可测试性,微软随ASP.NET MVC发布了一个“抽象包”,专门用于对HttpContext及其相关组件进行抽象,其中就包括HttpContextBase,HttpRequestBase抽象类。

 

HttpContextBase抽象类的说明

 

HttpContextBase 类为抽象类,该类包含的成员与 HttpContext 类相同。 使用 HttpContextBase 类可以创建一些派生类,这些派生类与 HttpContext 类相似,但是可以进行自定义并在 ASP.NET 管道外部使用。 在执行单元测试时,通常使用派生类实现具有自定义行为的成员以实现正在测试的方案。

 

  •  
  • 
    public abstract class HttpContextBase : IServiceProvider
    {
        protected HttpContextBase() { }
    
        public virtual void AddError(Exception errorInfo)
        {
            throw new NotImplementedException();
        }
    
        public virtual void ClearError()
        {
            throw new NotImplementedException();
        }
    
        ...
    }
    
    		
  •  

    标签:mvc