Глобальная переменная для базового URL-адреса веб-API для Blazor - PullRequest
2 голосов
/ 09 июля 2020

В настоящее время у меня есть этот рабочий Blazor (серверный проект), в котором есть только кнопка, которая выдает запрос GET Web Api, и он работает без каких-либо проблем.

Это мой ConfigureServices метод

public void ConfigureServices(IServiceCollection services)
    {
        services.AddRazorPages();
        services.AddServerSideBlazor();
        services.AddSingleton<HttpClient>();         
    }

и в моем Index.razor

@page "/"
@inject HttpClient http;
@using Models

<button @onclick="@GetMovies">Get Movies</button>

<table>
    <thead>
        <tr><th>Movie</th></tr>
    </thead>
    <tbody>
        @foreach(var movie in @Movies)
        {
        <tr><td>@movie.MovieTitle</td></tr>
        }
    </tbody>
</table>

@code{
    List<Movie> Movies;

    private async Task GetMovies()
    {
        Movies = await http.GetJsonAsync<List<Movie>>("http://localhost:54124/api/Movies");
    }
}

Как мне поместить http://localhost:54124 только в одно место, например глобальную переменную? Сделать это по методу ConfigureServices?

1 Ответ

2 голосов
/ 09 июля 2020

Вы должны сохранить его в appsettings.json.

Если вы используете WASM, appsettings.json будет внутри wwwroot.

И чтобы получить из него значение, вы можете проверьте этот вопрос где ответ на него мое изменение в соответствии с версией. net core и есть несколько способов сделать это.

...