バージョンはrc1です。 は私の古いプロジェクトでは、私がIMemoryCache
を使用して、私は私がすべてのキャッシュを一覧表示するビューを作成したいASP.NETコア1のキャッシュをすべて取得します
var c = this._memoryCache;
var data = c.Get("data");
のようなキーでキャッシュを取得することができ、コア1では
System.Web.Caching.Cache c = System.Web.HttpRuntime.Cache;
System.Collections.IDictionaryEnumerator cacheEnumerator = c.GetEnumerator();
while (cacheEnumerator.MoveNext())
{....}
のようなコードがあります。コア1にすべてのキャッシュを取得するにはどうすればよいですか?
これを試してみると、[CacheEntryは保護レベルのためアクセスできません]というエラーが表示されます。私はMicrosoft.AspNetCore.Mvcの1.0.1を使用しています。 – DrGriff
「反射専用メンバー」を検索します。プライベートメンバーにアクセスするには、特定のBindingFlagsを指定する必要があります。 –
こんにちは。申し訳ありませんが、私は間違いではっきりしませんでした。次のコードを使用します。var flags = BindingFlags.Instance | BindingFlags.NonPublic; var entries = this.MemoryCache.GetType()。GetField( "_ entries"、flags).GetValue(this.MemoryCache);私はこのオブジェクトへの参照を取得します。 WATCHを使用すると、型は "object {System.Collections.Generic.Dictionary