zoukankan      html  css  js  c++  java
  • [译]Ocelot

    原文

    可以为HttpClient添加delegating handlers。

    Usage

    为了添加delegating handler需要做两件事。

    首先如下一样创建一个类。

    public class FakeHandler : DelegatingHandler
    {
        protected override async Task<HttpResponseMessage> SendAsync(HttpRequestMessage request, CancellationToken cancellationToken)
        {
            //do stuff and optionally call the base handler..
            return await base.SendAsync(request, cancellationToken);
        }
    }
    

    然后必须将这个handler添加到Ocelot的容器里面:

    services.AddOcelot()
            .AddDelegatingHandler<FakeHandler>()
            .AddDelegatingHandler<FakeHandlerTwo>()
    

    这些Add模仿都有一个默认的参数(默认为false)用来表示是否作用于全局。如果使用的是默认的false的话,那么这个DelegatingHandler是专门针对ocelot.json里面指定的一个ReRoute的。如果为true的话,那么将作用于所有的ReRoute。

    services.AddOcelot()
            .AddDelegatingHandler<FakeHandler>(true)
    
    "DelegatingHandlers": [
        "FakeHandlerTwo",
        "FakeHandler"
    ]
    

    你可以有多个DelegatingHandlers。它们运行的顺序如下:

    • 全局的handler以添加到服务的顺序作为运行顺序,而不是以在ocelot.json中DelegatingHandlers的数组顺序
    • 非全局的handler以在ocelot.json中DelegatingHandlers的数组顺序作为运行顺序
    • Tracing DelegatingHandler。如果启用了的话
    • QoS DelegatingHandler。如果启用了的话
    • The HttpClient sends the HttpRequestMessage.
  • 相关阅读:
    1.c语言程序设计--c语言概述/vs2015安装使用
    DerpNStink----靶机渗透学习4
    一生清贫怎敢入繁华
    python篇------>建立socket连接
    loadoftheroot靶机--靶机渗透学习
    socks代理总结篇
    cobalt strike内网穿透
    netsh端口转发(windows自带,免杀)
    Cobal Strike-taowu梼杌详细介绍
    变量的解构赋值
  • 原文地址:https://www.cnblogs.com/irocker/p/ocelot-delegatinghandlers.html
Copyright © 2011-2022 走看看