【发布时间】:2021-11-18 19:53:22
【问题描述】:
我正在使用带有 Sql 数据库的 Asp.netCore API 开发 Reactjs 应用程序 部署到 IIS 服务器。 除任务上的 PUT 操作外,所有操作均正常运行 它因 CORS 错误而中断,请求未到达后端,我在本地对其进行了测试,并且工作正常。使用 Postman 进行测试,即使部署的版本与 postman 一起使用,它也可以正常工作。我不知道是什么问题,也不知道应该从哪里开始调试。
startup.cs
public void ConfigureServices(IServiceCollection services)
{
services.AddCors(o => o.AddPolicy(name: CorsPolicy, builder =>
{
builder.WithOrigins(FrontEnd_URL).SetIsOriginAllowed((host) =>
true).AllowAnyHeader().AllowAnyMethod().AllowCredentials();
}));
}
public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
{
app.UseRouting();
app.UseCors(CorsPolicy);
app.UseEndpoints(endpoints =>
{
endpoints.MapControllerRoute(
name: "default",
pattern: "{controller=Home}/{action=Index}/{id?}");
endpoints.MapHub<TrelloHub>("/trello");
});
}
任务控制器
[Route("/api/tasks")]
[ApiController]
public class TasksController : Controller
{
private readonly IMapper _mapper;
private readonly ITaskService _taskService;
public TasksController(ITaskService taskService , IMapper mapper)
{
_mapper = mapper;
_taskService = taskService;
}
[HttpPut("{id:int}", Name = "UpdateTask")]
public async Task<String> UpadateTask([FromBody]TaskDto taskdto, int id)
{
var taskModel = _mapper.Map<Task>(taskdto);
return await _taskService.UpadateTask(id , taskModel);
}
}
【问题讨论】:
标签: sql reactjs asp.net-core iis react-hooks