がdebug="true"
に設定されている場合、OutputCache
機能を無効にします。ASP.NET MVCのアプリケーション開始時にOutputCacheをプログラムで無効にする方法
私は正常に私のGlobal.asaxのApplication_Start()
でこのメソッドを呼び出すことで、この値にアクセスすることができます。
public static void RegisterGlobalFilters(GlobalFilterCollection filters)
{
filters.Add(new HandleErrorAttribute());
CompilationSection configSection = (CompilationSection)ConfigurationManager.GetSection("system.web/compilation");
if (configSection?.Debug == true)
{
filters.Add(new OutputCacheAttribute()
{
VaryByParam = "*",
Duration = 0,
NoStore = true
});
}
}
問題はOutputCache
が明示的に設定している私のコントローラ内の任意のエンドポイントだったグローバルフィルタを使用することはありません、ですセットアップ。その「月」プロファイルは、私のweb.configファイルで定義されているのはここ
[OutputCache(CacheProfile = "Month")]
[HttpGet]
public ViewResult contact()
{
return View();
}
は次のとおりです。
<system.web>
<caching>
<outputCacheSettings>
<outputCacheProfiles>
<add name="Month" duration="2592000" location="Any" varyByParam="*" />
</outputCacheProfiles>
</outputCacheSettings>
</caching>
</system.web>
私が「月」のように、明示的に定義されOutputCacheプロファイルの使用を無効にできるようにする必要があり、私はデバッグモードになっています。これどうやってするの?