我已将WebApp移至Azure App Service Environment并启用了新的LocalCache选项,如https://azure.microsoft.com/en-us/documentation/articles/app-service-local-cache/所述
但是,应该告诉您缓存已准备就绪的环境变量不存在。
如果我使用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
我被困在发生的事情上;任何人都可以给我任何想法尝试吗?
答案 0 :(得分:5)
这里的正确答案是:
正如您引用的文档所述:
如何判断我的网站是否已切换为使用本地缓存?
如果您将本地缓存功能与分段环境一起使用,则在本地缓存预热之前,交换操作不会完成。要检查您的站点是否针对本地缓存运行,您可以检查工作进程环境变量WEBSITE_LOCALCACHE_READY。使用工作进程环境变量页面上的指示信息来访问多个实例上的工作进程环境变量。
你说: 如果我使用Kudo并进入Process Explorer,单击w3wp(没有scm标签)进程的属性,然后单击Environment Variables,我看到的唯一变量是:
WEBSITE_LOCAL_CACHE_OPTION始终 APPSETTING_WEBSITE_LOCAL_CACHE_OPTION始终 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”: “正确”, “WEBSITE_LOCALCACHE_READY”: “TRUE”
我也在ASEv2中运行这个,所以我不认为先前来自cory-fowler的评论说ASE不支持这个评论是正确的。也许是在他写这篇文章的时候,但目前它得到了支持。
答案 1 :(得分:1)
本地缓存是App Service Environment当前未启用的功能。