Cyflenwi MSAL.NET â chleient dirprwyol y gellir ei ailddefnyddio
Gweithredu IMsalHttpClientFactory o amgylch HttpClient a rennir sy'n ymwybodol o'r dirprwy, a'i atodi i adeiladydd cymhwysiad MSAL.
Gall MSAL.NET gael ei glud HTTP o IMsalHttpClientFactory. Amlapwch gleient sydd wedi'i ffurfweddu ar gyfer y dirprwy:
sealed class TokenHttpFactory : IMsalHttpClientFactory
{
private readonly HttpClient client;
public TokenHttpFactory(HttpClient client)
{
this.client = client;
}
public HttpClient GetHttpClient() => client;
}Crëwch y trafodwr a'r cleient unwaith am oes y cymhwysiad, yna atodwch y ffatri yn ystod ffurfweddiad adeiladydd MSAL presennol:
var proxy = new WebProxy("http://proxy.example:8080");
var handler = new HttpClientHandler { Proxy = proxy, UseProxy = true };
var tokenHttp = new HttpClient(handler);
builder.WithHttpClientFactory(new TokenHttpFactory(tokenHttp));Yr adeiladydd yw adeiladydd cymhwysiad MSAL presennol y cymhwysiad; cadwch ei awdurdod, cofrestriad y cleient a ffurfweddiad y cymwysterau. Ar gyfer llwybr awdurdod HTTPS a ganiateir ac sydd ar gael yn gyhoeddus heb gyfrif dirprwy, gall cyfeiriad HTTP o'r rhestr dirprwyon HTTP lenwi'r WebProxy enghreifftiol. Ffurfweddwch gymwysterau'r dirprwy ar y WebProxy pan fo angen.
Rhaid i'r ffatri fod yn ddiogel ar gyfer edafedd. Ailddefnyddiwch y cleient yn lle creu un ym mhob galwad GetHttpClient. Nid yw MSAL yn cael gwared ar y cleient a ddarperir; mae ei berchennog yn rheoli'r oes honno.
Mae hyn yn rheoli ceisiadau HTTP MSAL. Gall mewngofnodi rhyngweithiol agor porwr y mae ei rwydwaith ar wahân. Felly nid yw mewngofnodi porwr sy'n gweithio yn profi bod gan gleient HTTP y tocyn yr un llwybr.