在《注册URL模式与HttpHandler的映射关系》演示的实例中,我们总是利用一个RouteBuilder对象来为RouterMiddleware中间件创建所需的Router对象,接下来我们就着重来介绍这个对象。RouteBuilder是我们对所有实现了IRouteBuilder接口的所有类型以及对应对象的统称。[本文已经同步到《ASP.NET Core框架揭秘》之中]

目录
一、RouteBuilder
二、RouteCollection
三、多个Route共享同一个Handler
四、每个Route具有独立的Handler
五、扩展方法MapVerb

如下面的代码片段所示,RouteBuilder对Router对象的创建体现在它的Build方法上。除此之外,IRouteBuilder接口还定义了一系列属性,我们可以利用它们得到用来注册中间件的ApplicationBuilder和用来提供服务的ServiceProvider。我们可以将多个Router注册到RouteBuilder上,这些注册的Router保存在Routes(不是Routers)属性上,而DefaultHandler属性返回一个默认的Router。

interface IRouteBuilder
   2: {
   3:     IApplicationBuilder      ApplicationBuilder { get; }
   4:     IServiceProvider         ServiceProvider { get; }
   5:     IRouter                  DefaultHandler { get; set; }
   6:     IList<IRouter>           Routes { get; }
   7:  
   8:     IRouter Build();
   9: }

相关文章:

  • 2021-07-15
  • 2022-12-23
  • 2021-12-10
  • 2021-11-02
  • 2022-12-23
  • 2021-07-08
  • 2021-12-22
  • 2022-12-23
猜你喜欢
  • 2021-12-03
  • 2022-12-23
  • 2021-09-27
  • 2021-08-06
  • 2022-12-23
  • 2021-11-17
相关资源
相似解决方案