новичок в Blazor, и я пытаюсь ввести именованного клиента < /p>
public class SharePointClient : ISharePointClient
{
private readonly string _baseUrl;
private readonly string _entity;
private readonly string _loginPath;
private readonly string _searchFiltersPath;
private readonly string _developerSiteMinderCookie = string.Empty;
private readonly TokenProvider _tokenProvider;
private readonly CookieJar _cookieJar = new CookieJar();
public SharePointClient(TokenProvider tokenProvider, IWebHostEnvironment environment, IConfiguration configuration)
{
_tokenProvider = tokenProvider;
_baseUrl = configuration["Services:SharePoint:Endpoint:Url"]; // sharepoint
_entity = configuration["Services:SharePoint:Login:Endpoint"]; // search
_loginPath = configuration["Services:SharePoint:Login:Path"]; // ex. getFedAuth, getsearchfilters, etc.
_searchFiltersPath = configuration["Services:SharePoint:SearchFilters:Path"];
}
}
< /code>
Я регистрирую его здесь: < /p>
builder.Services.AddHttpClient(client =>
{
client.BaseAddress = new Uri(EngineExtensions.Configuration.GetValue("Services:SharePoint:Endpoint:Url"));
});
< /code>
А потом я пытаюсь ввести его в компонент для использования: < /p>
[Inject]
public ISharePointClient SharePointClient { get; set; }
< /code>
Затем в коде компонента: < /p>
SearchFilters = await SharePointClient.GetResourceSearchFiltersAsync(cancellationTokenSource.Token).ConfigureAwait(true);
< /code>
Но я получаю следующую ошибку, когда я пытаюсь запустить приложение: < /p>
InvalidoperationException: подходящий конструктор для типа Landstar.capacityportal.resourcesearch.componentslibrary.clients.sharepointclient. Убедитесь, что тип является конкретным, и все параметры публичного конструктора либо зарегистрированы в качестве услуг, либо передаются в качестве аргументов. Также убедитесь, что посторонние аргументы не предоставляются
, если я посмотрю в стеке Build.services, я вижу ошибку на ключевой диапазоне.>
Подробнее здесь: https://stackoverflow.com/questions/796 ... pplication