問題タブ [cache-dependency]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
95 参照

asp.net-mvc - コンパイラが VirtualPathProvider を介して Razor ビューを再コンパイルするたびにログを記録するにはどうすればよいですか?

ここで少しパフォーマンスの問題があります。以下のコードはカスタム VirtualPathProvider の一部です。GetCacheKey と GetCacheDependency を上書きして、剃刀ビューを適切にキャッシュできるようにしました。

ただし、現在、コードが正しいかどうか少し心配です。ローカル PC でテストすると完全に動作しますが、Azure Web サイトにアップロードすると、ページがレンダリングされるまでに AGES かかります。

ビューは Azure Blob ストレージに保存され、GetFile にログ エントリを配置すると、それらがキャッシュされていることがわかりますが、Web サイトは各ページで常に再コンパイルされているように見えます (はい、各ページです。リフレッシュするとコンパイルされるためです)。 Azure Web サイト ページはすぐに表示されますが、アクセスしたことのない他のページは表示されません)

したがって、私の最初の推測では、Azure Web サイトのパフォーマンスは非常に低いですが、それを P3 Large Instance Web App Service プランにアップグレードしても、同じ問題が発生しました。それで、VirtualPathProvider にもう一度エラーがあるのではないかと考えました。GetFile() メソッドが常にヒットするとは限らず、アクセスしたページが更新直後に表示されるため、キャッシュも機能していると確信しているため、プロセス中に他のコンパイルが発生して各ページが非常に多く使用されているかどうかを考えさせられます最初のロードの時間?

誰か助けてください...

前もって感謝します。