【问题标题】:Store and Retrieve Data Between Blazor Client and Blazor Server在 Blazor 客户端和 Blazor 服务器之间存储和检索数据
【发布时间】:2020-11-07 14:28:31
【问题描述】:
我正在尝试将数据存储在 blazor 服务器或 blazor 客户端中。然后我需要在服务器和客户端中检索该数据。一个例子是我在客户端创建了一些字符串数据。我想从 blazor 的服务器端读取该数据。一旦我在服务器端读取了该数据,我想更改它,然后在客户端读回它。我尝试过使用查询、会话、请求、响应、全局变量等,但在 Blazor 客户端和 Blazor 服务器之间无法传输任何内容。请如果你得到它的工作,你可以发布一个例子。我只需要存储很少的数据。我只操作一个字符串。我不需要任何身份验证,因为我的数据没有价值或需要保密。所以最简单的例子是最好的。谢谢。
【问题讨论】:
标签:
blazor
blazor-server-side
blazor-client-side
blazor-webassembly
asp.net-blazor
【解决方案1】:
当您创建新的 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