Я пытаюсь создать основное приложение с процессом аутентификации на WebApi, а затем приложение дает доступ к группе «подприложений» с использованием того же WebApi.
Для этого я зарегистрировал свой HttpClient с этим:
private void ConfigureServices(IConfiguration configuration, IServiceCollection services)
{
services.AddHttpClient<BimFluxService>();
services.AddSingleton<MainWindow>();
services.AddSingleton<MainViewModel>();
}
Каждое вспомогательное приложение является отдельным решением, и для каждого из них мне нужно получить доступ к своему BimFluxService
, которое инициируется следующим образом:
public BimFluxService(HttpClient client, ILogger<BimFluxService> logger)
{
client.BaseAddress = new Uri("https://localhost:5001");
Client = client;
Logger = logger;
}
private HttpClient Client { get; }
internal static ILogger<BimFluxService> Logger { get; private set; }
public IUser User { get; private set; }
вкл. Основное приложение моего клиента работает правильно. Свойство IUser
обновляется при аутентификации. Но в дополнительном приложении BimFluxService
выглядит как новый экземпляр, а IUser
не обновляется.
Я использую это для регистрации своего дополнения на хосте:
.ConfigureServices((context, services) =>
{
ConfigureServices(context.Configuration, services);
foreach (var initAddin in addins)
{
services = initAddin.RegisterApp(services);
}
})
я что-то пропустил?