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
명시 적이었다 글로벌 필터를 사용하지 않습니다 설정 설정. 여기
[OutputCache(CacheProfile = "Month")]
[HttpGet]
public ViewResult contact()
{
return View();
}
는 "월"프로필이 내 Web.config의에 정의되어있는 곳입니다 :
<system.web>
<caching>
<outputCacheSettings>
<outputCacheProfiles>
<add name="Month" duration="2592000" location="Any" varyByParam="*" />
</outputCacheProfiles>
</outputCacheSettings>
</caching>
</system.web>
내가 "월"과 같이 명시 적으로 정의 OutputCache를 프로파일의 사용을 무효화 할 수 있어야합니다, 내가 디버깅 모드에있을 때. 어떻게해야합니까?
<system.web>
<caching>
<outputCacheSettings>
<outputCacheProfiles>
<add name="Month" duration="0" location="Any" varyByParam="*" />
</outputCacheProfiles>
</outputCacheSettings>
</caching>
</system.web>
그리고 응용 프로그램이 디버그 구성에 내장되는 경우가 더 캐시가 없습니다 :