C# 仅当不';等待&x27;在ASP WebApi项目中
在C#WebApi项目和angular js中,浏览器显示“请求的资源上不存在“Access Control Allow Origin”头”。 我在启动类中启用了CORS:C# 仅当不';等待&x27;在ASP WebApi项目中,c#,angularjs,asp.net-web-api2,C#,Angularjs,Asp.net Web Api2,在C#WebApi项目和angular js中,浏览器显示“请求的资源上不存在“Access Control Allow Origin”头”。 我在启动类中启用了CORS: app.UseCors(Microsoft.Owin.Cors.CorsOptions.AllowAll); 事实上,同一项目中的其他控制器工作正常。调试之后,我发现问题是当我启动一个没有“等待”的任务时。在控制器中,我需要在流程结束时发送电子邮件,但我不想等待发送,这并不重要,它只是一个通知,因此我不等待就抛出发送任务。
app.UseCors(Microsoft.Owin.Cors.CorsOptions.AllowAll);
事实上,同一项目中的其他控制器工作正常。调试之后,我发现问题是当我启动一个没有“等待”的任务时。在控制器中,我需要在流程结束时发送电子邮件,但我不想等待发送,这并不重要,它只是一个通知,因此我不等待就抛出发送任务。在这种情况下,从angularjs调用服务时会出现CORS问题。实际上,该服务被调用并正常工作,但angularjs的post函数返回错误,浏览器控制台显示CORS消息
public async Task SaveData(DemoModel form)
{
... code for saving data...
SendEmailDemo();
}
然而,如果我加上“等待”这个词并等待发送电子邮件,一切都会很好
public async Task SaveData(DemoModel form)
{
... code for saving data...
await SendEmailDemo();
}
我很困惑,也不清楚原因。有人能解释我遗漏了什么吗