我已将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
我被困在发生的事情上;任何人都可以给我任何想法尝试吗?
本地缓存是App Service Environment中当前未启用的功能。
这里的正确答案是这样的:
正如您引用的文档所述:
如何判断我的网站是否已切换到使用本地缓存?
如果您将本地缓存功能与暂存环境一起使用,则在本地缓存预热之前,交换操作不会完成。要检查您的站点是否针对本地缓存运行,您可以检查工作进程环境变量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”:“True”,“WEBSITE_LOCALCACHE_READY”:“TRUE”
我也在ASEv2中运行这个,所以我不认为早期来自cory-fowler的评论说ASE不支持这是正确的。也许是在他写这篇文章的时候,但目前它得到了支持。