Код: Выделить всё
@page "/demo"
@page "/{lang}/demo"
@inject IDemoService DemoService
@inject ICsvImportService CsvImportService
@inject ILanguageService LanguageService
...
@code {
[Parameter]
public required string Lang { get; set; }
protected override void OnParametersSet()
{
text = LanguageService.GetLocalizedStrings("AppName.Client.Localization.Strings.Demo.csv", Lang ?? Constants.SupportedLanguages[0]);
}
...
}
string apiVersion = "/api/v1";
builder.Services.AddRefitClient()
.ConfigureHttpClient(c => c.BaseAddress = new Uri($"{apiUrl}{apiVersion}"));
builder.Services.AddScoped();
builder.Services.AddScoped();
builder.Services.AddScoped();
< /code>
Обычно все работает нормально. Но иногда, например, когда я вручную изменяю языковой код в URL, браузер показывает мне эту ошибку: < /p>
InvalidoperationException: не может предоставить значение для свойства «demoservice» на тип 'appName. Client.features.calculation.demo.page.demo '. Нет зарегистрированной службы типа 'appname.client.features.calculation.demo.service.idemoservice'. Используйте его, чтобы назвать API, все работает. Должен ли я изменить способ, которым я справляюсь с языковыми версиями?>
Подробнее здесь: https://stackoverflow.com/questions/794 ... -is-regist