Code: Select all
@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>
Normalerweise funktioniert alles einwandfrei. Aber manchmal zeigt mir der Browser, wenn ich den Sprachcode in der URL manuell ändere, dieser Fehler: < /p>
InvalidOperationException: Kann keinen Wert für die Eigenschaft 'DemoService' auf dem Typ 'AppName angeben. Client.features.calculation.demo.page.demo '. Es gibt keinen registrierten Dienst vom Typ 'appname.client.features.calculation.demo.service.idemoService'. Verwenden Sie es, um die API aufzurufen, alles funktioniert. Soll ich die Art und Weise ändern, wie ich mit Sprachversionen umgehe?>