[英]HostingEnvironment.QueueBackgroundWorkItem() in ASP.NET for small background tasks
[英]HostingEnvironment.QueueBackgroundWorkItem never executes on azure deployed asp.net mvc 4.5 application
我有一个部署到 azure 的 asp.net 4.5 应用程序。 服务计划是标准 (S2) 2 核
我有一个长时间运行的任务,需要在对 action 方法的 get 请求之后以即发即忘的方式执行。
但即使使用以下测试代码:
public ActionResult TestItem()
{
// test method source is below
HostingEnvironment.QueueBackgroundWorkItem(ct => this.Context.TestMethod(););
return new HttpStatusCodeResult(HttpStatusCode.OK);
}
public void TestMethod()
{
using (var conn = _connectionFactory.Create())
{
conn.Open();
conn.Execute("INSERT INTO web.HotelSearchQueue (HSQ_ID) VALUES(@id)", new { @id = Guid.NewGuid() });
}
}
没发生什么事。 当然,这在 DEV 机器上运行良好,并且在直接调用时也可以正常工作,从而阻塞了请求线程。
知道什么可能导致这个问题吗?
我也遇到过同样的问题。 致电支持后,他们建议我在 Azure 应用服务“ WEBSITE_DYNAMIC_CACHE ”的应用程序设置中放置附加选项,值为“ 0 ”。 这是临时修复,他们说将来会提供更新,这将允许避免使用此设置。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.