現在C#のライブラリ、System.Runtime.Cachingについて調べています。
率直に質問を申し上げますと、System.Runtime.Cachingについての設定が記述されているアプリケーション構成ファイルを見つけられないのですがどこに記述されているのでしょうか?
まずSystem.Runtime.Caching.MemoryCacheについて公式ドキュメントには下記のように記載されていました。
MemoryCache.Default プロパティ
デフォルトのキャッシュインスタンスはコンストラクターによって作成されないため、構成を使用して、デフォルトのキャッシュインスタンスのメモリとポーリング値を明示的に設定する必要があります。 詳細については、<memoryCache>要素(キャッシュ設定)を参照してください。
これをMemoryCacheクラスはプログラム内でnewを使ってインスタンスを作るのではなく、アプリケーション構成ファイルで定義した値を使ってインスタンスを作るということだと解釈しました。
そこでvisualstudioで自作のwindowsFormプロジェクト(SampleMVP)にNugetを使ってSystem.Runtime.Cachingをインストールしました。
そのあとすぐにMemoryCache.Defaultを使用してみたところ、どこからともなく規定値を取得してきました。
実行したコードは以下のものです。
C#
1using System.Runtime.Caching; 2 3//省略 4 5private void button3_Click(object sender, EventArgs e) 6 { 7 var cache = MemoryCache.Default; 8 }
変数cacheのプロパティは以下のものが設定されているようです。
以下はその状態でのconfigファイルです。
予想ではApp.configか.exe.configに入っているだろうと考えたのですがその中にはありませんでした。
構成ファイルはどこにあるのでしょうか?
不足している説明等ありましたらご指摘お願いします。
packages.config
XML
1<?xml version="1.0" encoding="utf-8"?> 2<packages> 3 <package id="Newtonsoft.Json" version="12.0.3" targetFramework="net472" /> 4 <package id="System.Runtime.Caching" version="5.0.0" targetFramework="net472" /> 5</packages>
App.config
XML
1<?xml version="1.0" encoding="utf-8" ?> 2<configuration> 3 <startup> 4 <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.7.2" /> 5 </startup> 6</configuration>
SampleMVP.exe.config
XML
1<?xml version="1.0" encoding="utf-8" ?> 2<configuration> 3 <startup> 4 <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.7.2" /> 5 </startup> 6</configuration> 7
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。