大卫·福勒( David )和达米安·爱德华兹( Damian Edwards )最近发表了@ NDC伦敦会议,讨论如何调试asp.net核心2.0。,他们警告控制器动作方法做一些异步,然后尝试访问IHttpContextAccessor,基本上它是不安全的线程。我想知道这是否只适用于操作方法,以及在异步操作筛选器中这样做是否安全(我有类似于每个请求运行的内容):
public class SampleAttribute : IAsyncActionFilterhttp
DataBase.Users.FindAsync(id)); // More actions decorated with the CanNotifyUserAttribute attributeDataBase是在MyBaseController因此,我的问题(我认为)出现在自定义操作过滤器CanNotifyUserAttribute上,它的OnActionExecuting覆盖被定义为(删除所有检查以尽可能减少):
public override奇怪的是,
上下文
在ASP.NET核心应用程序中,我想执行一个操作,比如5秒(比如发送电子邮件)。我知道异步/等待及其在ASP.NET核心中的用途,但是我不想等待操作的结束,而是想立即返回到客户端。假设我有一些更复杂的方法与注入的ILogger和其他东西,我想火和忘记那个方法。在该方法中,有错误处理和日志记录。(注意: Hang