在Blazor客户端和Blazor服务器之间存储和检索数据

时间:2020-07-17 18:23:24

标签: blazor blazor-server-side blazor-client-side blazor-webassembly asp.net-blazor

我正在尝试在blazor服务器或blazor客户端中存储数据。然后,我需要在服务器和客户端中检索该数据。一个例子是我在客户端创建一些字符串数据。我想从blazor的服务器端读取该数据。一旦在服务器端读取了该数据,我想对其进行更改,然后再在客户端读回。我尝试使用查询,会话,请求,响应,全局变量等,但是Blazor Client和Blazor Server之间无法进行任何传输。如果您能正常工作,请给我一个例子。我只需要存储很少的数据。我只是操纵一个字符串。我不需要任何身份验证,因为我的数据没有价值或需要保密。因此,最简单的例子就是最好的例子。谢谢。

1 个答案:

答案 0 :(得分:3)

创建新的Blazor应用程序并选择Blazor WebAssembly应用程序时,如果您随后选中“ ASP.net Core托管”复选框。该应用程序将使用Web API项目创建。

这使Web客户端可以使用HTTP连接到服务器端,以获取或发布信息,这些信息可以像字符串或复杂对象一样简单。

将在Web API控制器中使用的示例方法:

[HttpGet("{argument}")]
public string Get(string argument)
{
    return $"The argument received was {argument}";
}

调用Web API的示例客户端代码:

string Result { get; set; }
string argument = "what is the weather?";

async Task CallWebApi()
{
    Result = await Http.GetStringAsync($"WeatherForecast/{argument}");
}

Example solution in github