“ASP.NET Core hosted” 是 Blazor WebAssembly 应用程序模板中的一个选项,它表示应用程序使用 ASP.NET Core 作为其后端运行时。这种配置使得开发人员能够在 ASP.NET Core 中实现服务器端 Blazor 和客户端 Blazor 之间的通信。
例如,假设我们希望在 Blazor WASM 应用中使用 ASP.NET Core 作为后端来存储和检索数据。现在我们可以创建一个带有“ASP.NET Core hosted”选项的 Blazor WASM 应用程序,然后在 ASP.NET Core 中创建 Web API 来附加到 Blazor WASM 应用程序中。
下面是一个简单的代码示例:
创建具有“ASP.NET Core hosted”选项的 Blazor WebAssembly 应用程序。
在“Server”项目中创建一个新的控制器:
[Route("api/[controller]")]
[ApiController]
public class WeatherForecastController : ControllerBase
{
[HttpGet]
public IEnumerable Get()
{
var rng = new Random();
return Enumerable.Range(1, 5).Select(index => new WeatherForecast
{
Date = DateTime.Now.AddDays(index),
TemperatureC = rng.Next(-20, 55),
Summary = Summaries[rng.Next(Summaries.Length)]
})
.ToArray();
}
private static readonly string[] Summaries = new[]
{
"Freezing", "Bracing", "Chilly", "Cool", "Mild", "Warm", "Balmy", "Hot", "Sweltering", "Scorching"
};
}
protected override async Task OnInitializedAsync()
{
var forecasts = await http.GetFromJsonAsync("api/weatherforecast");
}
现在,在 Blazor WASM 应用程序中,我们可以调用 ASP.NET Core Web API,以便从后端服务器中获取数据。