[英].net core web api controller life cycle
您好,我了解注入服务的生命周期,例如请求完成后服务不可用的范围。 但是参数(如示例中的 myObject)何时被销毁? 如果我将此参数传递给长异步任务并且我不等待结果,我可能会在任务中遇到 null 的问题?
public class mycontroller : ControllerBase
{
private MyService _myservice;
public mycontroller(MyService myservice)
{
_myservice = myservice;
}
[HttpPost]
public IActionResult Post([FromBody] MyObject myObject)
{
_myservice.dosomethinglongasync(myObject);
return OK();
}
}
该任务将继续持有对myObject
的引用,直到完成。 你不应该面临它被预先销毁的问题。
但是(。)这是一个糟糕的设计,您无法检查任务是否完成。 等等。触发异步任务而不在某处等待它们不是一个好习惯。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.