4

我已将我的 WebApp 移动到 Azure 应用服务环境并启用了新的 LocalCache 选项,如https://azure.microsoft.com/en-us/documentation/articles/app-service-local-cache/中所述

AppSettings 选项的证明

但是,应该告诉您缓存已准备好的环境变量不存在。

如果我使用 Kudo 并转到 Process Explorer,单击 w3wp(没有 scm 标签)进程的属性,然后单击 Environment Variables,我看到的唯一变量是:

WEBSITE_LOCAL_CACHE_OPTION  Always
APPSETTING_WEBSITE_LOCAL_CACHE_OPTION   Always
WEBSITE_LOCAL_CACHE_SIZEINMB    1000
APPSETTING_WEBSITE_LOCAL_CACHE_SIZEINMB 1000
WEBSITE_LOCALCACHE_ENABLED  True

但不是我需要的:

WEBSITE_LOCALCACHE_READY

Kudo 进程环境变量列表

我对正在发生的事情感到困惑;谁能给我任何想法让我尝试?

4

2 回答 2

5

这里的正确答案是这样的:

正如您引用的文档所述:

如何判断我的站点是否已切换到使用本地缓存?

如果您在暂存环境中使用本地缓存功能,则在本地缓存预热之前,交换操作不会完成。要检查您的站点是否针对本地缓存运行,您可以检查工作进程环境变量WEBSITE_LOCALCACHE_READY。使用工作进程环境变量页面上的说明访问多个实例上的工作进程环境变量。

您说:如果我使用 Kudo 并转到 Process Explorer,单击 w3wp(没有 scm 标签)进程的属性,然后单击环境变量,我看到的唯一变量是:

WEBSITE_LOCAL_CACHE_OPTION Always

APPSETTING_WEBSITE_LOCAL_CACHE_OPTION Always

WEBSITE_LOCAL_CACHE_SIZEINMB 1000

APPSETTING_WEBSITE_LOCAL_CACHE_SIZEINMB 1000

WEBSITE_LOCALCACHE_ENABLED True

此环境变量WEBSITE_LOCALCACHE_READY是“工作进程”的一部分,而不是主机进程 w3wp.exe

您需要获取工作进程的内存转储,如下所述: https ://github.com/projectkudu/kudu/wiki/Process-Threads-list-and-minidump-gcdump-diagsession#process-environment-variable

从...开始:

GET /api/processes/0 => scm站点w3wp.exe的详细进程信息。或使用 -1 作为主站点。https://(kudu-site).scm.azurewebsites.net/api/processes/0 (显示 w3wp.exe 进程)

“主站点”是工作进程。https://(kudu-site).scm.azurewebsites.net/api/processes/-1

这显示了一个完整的进程转储,在内容中你会看到你的变量: "WEBSITE_LOCALCACHE_ENABLED":"True","WEBSITE_LOCALCACHE_READY":"TRUE"

我也在 ASEv2 中运行它,所以我不认为 cory-fowler 之前关于 ASE 不支持此功能的评论是正确的。也许是他写的时候,但目前它是支持的。

于 2017-11-15T17:12:40.290 回答
1

本地缓存是应用服务环境中当前未启用的一项功能。

于 2016-04-13T17:07:42.697 回答