Я написал стандартную библиотеку c#. net для добавления заголовков X-Correlation-ID к запросу API и ответу с использованием промежуточного программного обеспечения. Теперь я хочу распространить эти заголовки на все исходящие запросы Http в одном и том же процессе. Я не буду контролировать создание именованных HttpClients, так как все они будут определены клиентами моей библиотеки. Как мне подключиться к конвейеру исходящих запросов, чтобы добавить этот заголовок?
Моей первой мыслью было использование HeaderPropagation на HttpClient, однако это было сделано для. net core 3+ (хотя есть обратный порт) и его похоже для названных HttpClients, о которых я не буду знать заранее. Концепция хоть и интересная. Должен ли я пытаться добавить MessageHandler для всех экземпляров HttpClient? или есть лучший способ сделать это в моей библиотеке?
например, так что это не будет работать:
services.AddHttpClient("AnUnkownClient")
.AddHttpMessageHandler<AddCorrelationIdHeader>();
, но я хочу что-то вроде этого:
services.AddToAllHttpClients
.AddHttpMessageHandler<AddCorrelationIdHeader>();