你的位置:首页 > 软件开发 > ASP.net > [Asp.net 5] ApplicationBuilder详解

[Asp.net 5] ApplicationBuilder详解

发布时间:2015-12-25 12:00:26
ApplicationBuilder(IApplicationBuilder接口),是OWIN的基础,而且里面都是代理、代理的代理,各种lambda表达式,估计要看这部分代码,很多人得头昏脑涨。今天就对个类以及几个扩展方法进行讲解。按惯例先贴代码(这是我修改后的,将接口继承去掉了 ...

ApplicationBuilder(IApplicationBuilder接口),是OWIN的基础,而且里面都是代理、代理的代理,各种lambda表达式,估计要看这部分代码,很多人得头昏脑涨。今天就对个类以及几个扩展方法进行讲解。

按惯例先贴代码(这是我修改后的,将接口继承去掉了、HttpContext类修改成自己的MyHttpContext类)

[Asp.net 5] ApplicationBuilder详解[Asp.net 5] ApplicationBuilder详解
public class ApplicationBuilder  {    private readonly IList<Func<RequestDelegate, RequestDelegate>> _components = new List<Func<RequestDelegate, RequestDelegate>>();    public ApplicationBuilder() { }    private ApplicationBuilder(ApplicationBuilder builder)    {    }    public ApplicationBuilder Use(Func<RequestDelegate, RequestDelegate> middleware)    {      _components.Add(middleware);      return this;    }    public ApplicationBuilder New()    {      return new ApplicationBuilder(this);    }    public RequestDelegate Build()    {      RequestDelegate app = context =>      {        context.StatusCode = "404";        System.Console.WriteLine("404");        return Task.FromResult(0);      };      foreach (var component in _components.Reverse())      {        app = component(app);      }      return app;    }  }

原标题:[Asp.net 5] ApplicationBuilder详解

关键词:ASP.NET

*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们: admin#shaoqun.com (#换成@)。