【问题标题】:Is is possible to browse an Azure App Service temp directory?是否可以浏览 Azure App Service 临时目录?
【发布时间】:2019-01-31 11:08:11
【问题描述】:

我正在使用Kudu Dashboard 浏览我的 Azure 应用服务的文件夹。具体来说,我正在浏览D:\local\Temp\,因为它应该是(据我所知)用于存储我的网络应用程序创建的临时文件的文件夹。作为参考,这里是 Kudu 仪表板的屏幕截图:

从截图可以看到有一个文件叫xyz.tmp,这个文件是我通过Kudu仪表盘手动创建的。

但是,当我尝试使用以下代码从我的网络应用程序中读取文件时,这一切都很好:

var fileContent = System.IO.File.ReadAllText(@"D:\local\Temp\xyz.tmp");

我收到一条错误消息,指出找不到文件。

所以我的问题是,发生了什么事?为什么我会收到错误消息?另外,我注意到,当我使用以下代码在同一个 App Service 临时目录中创建文件时:

var fn = System.IO.Path.GetTempFileName();
System.IO.File.WriteAllText(fn, "abc123");

然后我尝试使用 Kudo 仪表板浏览文件,但在 temp 目录中没有看到它。

所以本质上,这一切似乎都指向 Kudo 仪表板显示的临时文件夹,而不是应用服务使用的真实临时文件夹。因此,如果不是这种情况,那么您应该如何浏览 App Service 临时文件夹?

谢谢。

【问题讨论】:

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


    【解决方案1】:

    来自https://github.com/projectkudu/kudu/wiki/Understanding-the-Azure-App-Service-file-system

    另一个重要的注意事项是主站点和 scm 站点不共享临时文件。因此,如果您从您的站点在那里编写一些文件,您将不会从 Kudu 控制台看到它们(反之亦然)。如果您禁用分离(通过WEBSITE_DISABLE_SCM_SEPARATION),您可以让它们使用相同的临时空间。但请注意,这是一个遗留标志,不推荐/不支持使用它。

    【讨论】:

    • 所以除了使用 WEBSITE_DISABLE_SCM_SEPARATION 设置(我们不应该使用)之外,是否有官方支持的方式来查看网站临时文件夹?
    • 除了向您的应用程序本身添加逻辑以显示临时文件外,没有其他方法。另外,请注意,当您向外扩展时,每个实例都有自己的临时文件夹。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-11-02
    • 2021-12-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多