如何解决Blazor客户端在同一解决方案中无法到达API端点
我有一个出色的客户项目,我想在同一解决方案中使用API。但是我似乎无法到达API。在blazor项目program.cs
中,我像这样设置了BaseAdress
public static async Task Main(string[] args)
{
var builder = WebAssemblyHostBuilder.CreateDefault(args);
builder.RootComponents.Add<App>("app");
builder.Services.AddBlazoredLocalStorage();
builder.Services.AddAuthorizationCore();
builder.Services.AddScoped<AuthenticationStateProvider,ApiAuthenticationStateProvider>();
builder.Services.AddScoped<IAuthService,AuthService>();
builder.Services.AddScoped(sp => new HttpClient { BaseAddress = new Uri(builder.HostEnvironment.BaseAddress) });
await builder.Build().RunAsync();
}
在blazor应用程序内部,我有一个Authservice,它正在尝试调用API。服务的注册方法如下所示。
public async Task<HttpResponseMessage> Register(UserRegisterViewModel model)
{
var result = await _httpClient.PostAsJsonAsync("Account/Register",model);
return result;
}
正如您所看到的,Register方法正在尝试在帐户控制器中调用注册操作,而我在同一解决方案的API中也是如此。这是动作:
[Route("Account")]
[ApiController]
public class AccountController : ControllerBase
{
private readonly UserManager<ApplicationUser> _userManager;
private readonly SignInManager<ApplicationUser> _signInManager;
private readonly IConfiguration _configuration;
public AccountController(IConfiguration configuration,UserManager<ApplicationUser> userManager,SignInManager<ApplicationUser> signInManager)
{
_userManager = userManager;
_signInManager = signInManager;
_configuration = configuration;
}
[HttpPost]
[Route("Register")]
public async Task<IActionResult> RegisterAsync([FromBody]UserRegisterViewModel model)
{
if(!ModelState.IsValid)
return BadRequest(ModelState);
ApplicationUser user = new ApplicationUser
{
Email = model.Email,UserName = model.Email
};
IdentityResult result = await _userManager.CreateAsync(user,model.Password);
if (!result.Succeeded)
return BadRequest(result.Errors);
return Ok();
}
.....
.....
}
但是由于某些原因,我从未采取任何行动RegisterAsync
。为什么是这样?我想念什么?
谢谢
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。