【发布时间】:2019-06-06 14:05:43
【问题描述】:
我对在 Azure 中进行托管比较陌生。我有一个 .net 4.6 Web 应用,在 Azure 中作为应用服务运行。
该解决方案包含一些运行很长时间的操作。这些在 230 秒超时后停止,这似乎是 Azure 的事情。
我了解到我应该将此代码放在 Azure 函数中,以便让它作为后台作业运行。这里应该没有超时,只要我不使用消费计划。
我还在我的解决方案中使用 Azure 存储。
我的问题是,如果我使用 Azure Functions v1 (NuGet Microsoft.NET.Sdk.Functions v1.0.24),我不得不使用 Newtonsoft.Json version =9.0.1 同时 NuGet WindowsAzure.Storage 需要 Newtonsoft.Json 版本 >=10.0.2
这对我来说很糟糕。
然后我试用了 Azure Functions v2。但它只支持 .Net Core,这不是我在这个项目中的一个选项。
我的主要问题仍然是找到一种能够运行这些长时间运行的任务的方法。
一种方法是将工作分解成更小的部分,但在这种情况下,我希望在同一个请求中处理它。
【问题讨论】:
-
看看 Azure WebJobs。它是 Azure Functions 背后的下划线资源。我相信它支持 .NET Core 以外的其他平台。 Run Background tasks with WebJobs in Azure App Service
-
确实,但看起来,Web 作业在应用服务上下文中运行,并且也有 230 秒的限制。
标签: azure azure-web-app-service