【问题标题】:Azure App Service - App Domain restarted when adding new files into wwwroot folderAzure App Service - 将新文件添加到 wwwroot 文件夹时重新启动应用域
【发布时间】:2018-12-09 19:00:52
【问题描述】:

我在三个不同的区域部署了一个应用服务(完全相同的代码)。我的服务需要在运行时同步一些文件,并将它们放在应用服务的本地缓存中。

为方便起见,我将文件放在 wwwroot 文件夹下。这是因为当发生新部署时,我希望它们也消失。

问题是,在三个应用服务中的两个中,每次在 wwwroot 下创建一个文件夹时,应用域都会重新启动并且它会破坏服务的功能。对于第三个服务,App Domain 根本不会重新启动,并且对它的请求运行良好。我知道 wwwroot 文件夹中的更改可能会触发应用程序域回收,但不明白为什么它只发生在两个区域中。

是否有任何配置可能影响行为以及应用域重新启动的方式/时间?

我还尝试在我的服务的 web.config 上添加以下内容,但服务甚至没有加载。

<httpRuntime fcnMode="Disabled" />

我从这个帖子中得到了这些信息:Azure Websites AppDomain many restarts

【问题讨论】:

    标签: azure azure-web-app-service azure-app-service-envrmnt


    【解决方案1】:

    部署几乎只做一件事:它将文件部署到wwwroot 文件夹中。它从不直接重启应用程序

    无论您使用 Visual Studio 部署 (msdeploy)、git/GitHub/etc 部署、FTP,还是使用 Kudu 控制台手动复制一些文件,都是如此。

    上面的关键字是directly,这意味着部署不会进行任何会导致站点重启的神奇 API 调用。但是,在某些情况下,将文件部署到 wwwroot 的行为可能会导致某种形式的重启。从这个意义上说,部署是间接导致重新启动,但它真的对此一无所知。由应用程序的运行时来响应文件更改通知并执行它认为正确的操作。

    更多详情可以参考这个article

    您可以选择使用configSource 属性来引用进行更改时不会导致重新启动的外部配置文件。有关详细信息,请参阅 General Attributes Inherited by Section Elements 中的 configSource

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-01-13
      • 2017-09-30
      • 1970-01-01
      • 2020-04-28
      • 2013-11-05
      • 2020-11-25
      相关资源
      最近更新 更多