MiniProfiler Timings はHttpContext.Current
デフォルトで保存されます (発見したとおり)。したがって、が null の場所から MiniProfiler を呼び出すとHttpContxt.Current
、結果を保存できません。解決策は、別の場所から結果を保存 (および取得) することです。
MiniProfiler には、すべての結果を保存および取得する場所を変更するオプションが用意されています ( を使用MiniProfiler.Settings.Storage
)。新しい v3 MiniProfiler ( beta nuget hereIStorage
) は、リクエストごとに異なる構成のオプションを提供し、 を使用して結果MultiStorageProvider
を保存および取得できる複数の場所を指定します。この例は、github のSample.Mvcプロジェクトで確認できます。
あなたの場合、最善のアプローチは、最初に保存/取得するMultiStorageProvider
グローバルに を設定し、その後からアクセスできる他のものを使用することです。次に、で設定した 2 番目のストレージ オプションのみを使用するように を設定します(HttpCache を保存しようとしても意味がないため)。これにより、 からのプロファイルが2 番目のストレージ オプションに保存され、他の結果と一緒に表示するために取得されます (取得できる最初の場所からの結果になるため、HttpCache で結果が見つからない場合、 2番目のオプションに進みます。MiniProfiler.Settings.Storage
HttpRuntimeCacheStorage
IStorage
DelegatingHandler
DelegatingHandler
MiniProfiler.Current.Storage
MultiStorageProvider
DelegatingHandler
MultiStorageProvider
Load
注 - この場合、複数のストレージ オプションを使用すると便利ですが、プロファイル取得のパフォーマンスに悪影響を及ぼす可能性があります。