【发布时间】:2021-05-01 21:02:00
【问题描述】:
我创建了一个标准 Blazor 服务器应用,然后添加了一个具有读/写操作的 API 控制器 现在我想从索引页面调用该操作,但它不起作用。它运行没有错误,但没有返回预期的结果(状态=“等待激活”,方法=“空”和结果=“尚未计算”)。 我在控制器操作中放置了一个断点,但它没有到达那里。
// ValuesController
[Route("api/[controller]")]
[ApiController]
public class ValuesController : ControllerBase
{
// GET: api/<ValuesController>
[HttpGet]
public IEnumerable<string> Get()
{
return new string[] { "value1", "value2" };
}
// GET api/<ValuesController>/5
[HttpGet("{id}")]
public string Get(int id)
{
return "value";
}
// Index page
<button class="btn btn-primary" @onclick="RetrieveGet">
GET
</button>
void RetrieveGet()
{
HttpClient Http = new HttpClient();
string baseUrl = "https://localhost:44382/";
var temp2 = Task.Run(async () => { await Http.GetStringAsync($"{baseUrl}api/values/5"); });
}
// Startup.cs (other items removed for brevity)
public void ConfigureServices(IServiceCollection services)
{
services.AddControllers();
}
public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
{
app.UseHttpsRedirection();
app.UseStaticFiles();
app.UseRouting();
app.UseAuthentication();
app.UseAuthorization();
app.UseEndpoints(endpoints =>
{
endpoints.MapControllers();
endpoints.MapBlazorHub();
endpoints.MapFallbackToPage("/_Host");
});
}
【问题讨论】:
-
不是真的,但包含一些有用的信息。我投了赞成票。
标签: asp.net-core asp.net-core-webapi blazor blazor-server-side