繁体   English   中英

HostingEnvironment.QueueBackgroundWorkItem 永远不会在 azure 部署的 asp.net mvc 4.5 应用程序上执行

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM