问题描述
有谁知道为什么我会收到数千次调用 FileOpenorCreate 以使用 PerfView 和集合的进程/文件/注册表堆栈部分来查找随机 .cshtml 和 .vbhtml 文件的原因?
解决方法
如果您只花一点时间在源代码上(但不清楚如何定位源文件),您可以看到 ASP.NET 运行时 (WebPageRoute
) 正在尝试将请求路径映射到文件系统路径,
在该过程中,它利用了 MapPathBasedVirtualPathProvider
中的缓存,
https://referencesource.microsoft.com/#System.Web/Hosting/MapPathBasedVirtualPathProvider.cs,78
PerfView 记录的文件系统访问与构建此类缓存的行为相匹配,因此似乎没有任何问题。