c# - Blazor 的 Web api 基本 URL 的全局变量

标签 c# blazor blazor-server-side

目前,我有这个正在运行的 Blazor(服务器项目),它只有一个按钮,可以发出 Web Api GET 请求,并且可以正常工作,没有任何问题。

这是我的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 方法中执行此操作吗?

最佳答案

您应该将其存储在appsettings.json中。

如果您使用 WASM,appsettings.json 将位于 wwwroot 内。

要从中获取值,您可以检查 this question 我的答案根据 .net core 的版本而变化,并且有不止一种方法可以做到这一点。

关于c# - Blazor 的 Web api 基本 URL 的全局变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62812446/

相关文章:

visual-studio-2019 - Blazor 应用程序中的结构以及为什么我不能拥有一个?

validation - 在 blazor razor 页面中使用 editform 时如何重置自定义验证错误

c# - 使用 Arrange-Act-Assert 进行单元测试时是否推荐标题注释?

asp.net-core - 如何使用 Blazor 语法折叠/展开 Razor 组件?

javascript - Blazor Capture Android 键盘 Go 键

dll - 在浏览器中运行 C# dll 仅用于计算

bootstrap-4 - 导航栏下拉菜单在 Blazor 服务器上不起作用

c# - 正则表达式匹配动态模式

c# - 如何按角色的排序顺序对员工列表进行排序?

c# - 避免将 `in` 与结构一起使用而不会使结构成为只读而降低性能?