Обходной лист (#12)
Co-authored-by: gorbenko.pavel <gorbenko.pavel@tansu.kz> Reviewed-on: http://git.tnsu.kz/gorbenko.pavel/tnsu-approval-route/pulls/12
This commit was merged in pull request #12.
This commit is contained in:
+7
-1
@@ -29,11 +29,17 @@ public static class InfrastructureServiceCollectionExtensions
|
||||
|
||||
services.Configure<TnsuPortalOptions>(configuration.GetSection("TnsuPortal"));
|
||||
services.AddHttpClient<TnsuPortalTokenProvider>();
|
||||
services.AddHttpClient<ITnsuPortalClient, HttpTnsuPortalClient>((sp, client) =>
|
||||
// ITnsuPortalClient резолвится в CachingTnsuPortalClient (кеш на 5 минут,
|
||||
// см. её комментарий) — сам HttpTnsuPortalClient регистрируем по
|
||||
// конкретному типу, а не по интерфейсу, чтобы декоратор мог его получить
|
||||
// как обычную зависимость.
|
||||
services.AddHttpClient<HttpTnsuPortalClient>((sp, client) =>
|
||||
{
|
||||
var options = sp.GetRequiredService<IOptions<TnsuPortalOptions>>().Value;
|
||||
client.BaseAddress = new Uri(options.BaseUrl);
|
||||
});
|
||||
services.AddMemoryCache();
|
||||
services.AddScoped<ITnsuPortalClient, CachingTnsuPortalClient>();
|
||||
|
||||
return services;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user