"azure api app" 会根据某些默认策略自行重启吗?

Will "azure api app" restart itself per some default policy?

我在 visual studio 中用 C# 创建了一个 azure api 应用程序。

发布表单后 visual studio 我发现它偶尔会 "restart"(不确定它是否是重启,因为我在应用程序洞察中没有发现异常)。

每次 "restart" 观察到 REST 请求的响应时间很长时(可能超过 1 秒,大多数相同的 REST 句柄只需要不到 100 毫秒)。

所以这意味着对于已发布的 "azure api app" 会有一些来自 Azure 的默认策略?说当它检测到异常的 REST 响应(比如处理时间比正常时间太长)时它会自行重启?

我在 WebApiApplication 构造函数中添加了跟踪,以便我可以通过检查跟踪来确认重新启动:

    public WebApiApplication() : 
    {
        Log.Info("api log check0309");
    }

Rest handler如下:除了return200

没有其他操作
[HttpGet]
[Route("{customerId}/capabilities")]
[ResponseType(typeof(Capability))]
public virtual IHttpActionResult GetCapabilities([LogContext] string customerId)
{
    Log.Info("Get capabilities");
    return Ok
}

So it means for published "azure api app" there will be some default policies from Azure?

我不确定你这边的重启怎么样。但是第一次访问网页,确实需要很长时间才能响应。因为您需要将项目加载到缓存中。如果多次刷新同一页面,您会发现第一次请求时间过长。

也许长时间响应 - 不是原因,而是结果? 重新启动后 - 前几个请求太长。

无论如何你应该找到重启的原因,只需研究 azure web 应用程序信息: - 健康标签 - azure 服务日志(默认情况下它们位于您的网络应用程序的日志文件夹中(打开 yourWebSite.scm.azure-websites.com)),您也可以在 azure 网络应用程序选项卡中找到它们。 - 在 scm 上你可以找到更多关于网络应用程序的有用信息(不仅是日志,还有诊断转储、事件和其他) - 事件选项卡。