MvcSiteMapProvider에서 발생하는 자동 캐싱이있는 것 같습니다. 캐싱을 비활성화하는 메커니즘이 있습니까? 우리는 작성된 커스텀 캐싱 루틴을 가지고 있으며, 캐싱 메커니즘에 의존하지 않고이를 실행하려고합니다.MvcSiteMapProvider 캐싱 사용 안 함
답변
시도에 해당 구성 속성을 설정하십시오.
<% var sm = Html.MvcSiteMap();
((MvcSiteMapProvider.DefaultSiteMapProvider)sm.Provider).Refresh(); %>
....
<%: sm.Menu(0, 1) %>
소스를 살펴보면 사이트 맵을 만들 때 캐시 항목이 항상 생성되어 HttpContext.Current.Cache
에 항목을 저장합니다. 이 캐시 항목의 수명은 구성 cacheDuration
의 속성에서 구성됩니다. 이 속성이 구성에서 생략하면, 5가 기본값 전에 새로 고침을 호출 메뉴 또는 사이트 맵을 렌더링하기 위해 0
<siteMap defaultProvider="MvcSiteMapProvider" enabled="true">
<providers>
<clear />
<add name="MvcSiteMapProvider"
type="MvcSiteMapProvider.DefaultSiteMapProvider, MvcSiteMapProvider"
cacheDuration="5" />
</providers>
</siteMap>
불행히도 그것은 작동하지 않았습니다. 3.0 최종 릴리스가 나올 때까지 기다렸다가 원본을 수정하여 캐싱을 제거 할 수 있습니다. 새로운 릴리스가 CodePlex에 게시 될 때 MvcsiteMapProvider를 쉽게 업데이트 할 수 있도록 캐싱을 비활성화하는 옵션을 선호합니다. – Scott
A는 해키 비트 만 관심이있는 사람 : MvcSiteMapProvider의 V4에서
foreach (var c in from object c in HttpContext.Cache where ((System.Collections.DictionaryEntry)c).Key.ToString().Contains("__MVCSITEMAP") select c)
{
HttpContext.Cache.Remove(((System.Collections.DictionaryEntry)c).Key.ToString());
break;
}
는 캐시가 지금 확장하거나 자신의 구현으로 대체 할 수있다. 내가 작성한 다음 블로그 게시물을 살펴보십시오. 지금 System.Runtime.Caching.ObjectCache, 사용자가 선택한 캐시 관리자에 의해 대체 될 수있는 추상 클래스를 사용하여 내부적으로
MvcSiteMapProvider 4.0 - Extending the Cache
.
웹 사이트가 다운 된 것 같습니다. 어쨌든, 캐싱을 끄려면 어떻게해야합니까? – toddmo
- 1. ASP.NET에서 클라이언트 측 캐싱 사용 안 함
- 2. Sharepoint 2010에서 캐싱 사용 안 함
- 3. JPA (eclipselink)에서 캐싱 사용 안 함
- 4. UIPickerView 사용 안 함
- 5. 알림 사용/사용 안 함
- 6. 전역 적으로 캐시 사용 안 함 .NET
- 7. StyleCop 규칙 사용 안 함
- 8. Zend_Form_Element_Multicheckbox에서 이스케이프 사용 안 함
- 9. 모든 XML보기 사용 안 함
- 10. as3로드시 buttonmode 사용 안 함
- 11. 스크롤보기에서 UIButton 사용 안 함
- 12. iframe에서 스크롤 사용 안 함
- 13. android에서 마이크 사용 안 함
- 14. Vim에서 ':'문자 사용 안 함
- 15. 디버깅 출력 사용 안 함
- 16. C# 사용 안 함 경고
- 17. cmake에서 테스트 사용 안 함
- 18. OpenSceneGraph에서 텍스처 사용 안 함
- 19. IntelliJ 경고 사용 안 함
- 20. ClickListener 이벤트 사용 안 함
- 21. PHP ipv6 사용 안 함
- 22. SaveFileDialog의 일부 사용 안 함
- 23. POST에서 스크롤 사용 안 함
- 24. SlickGrid에서 스크롤 사용 안 함
- 25. asp.net에서 양식 사용 안 함
- 26. System.Console.Write로 스크롤 사용 안 함
- 27. Qt 스플리터 사용 안 함
- 28. DataGridView 이미지 사용 안 함
- 29. 설명이있는 Resharper 사용 안 함
- 30. QPlainTextEdit에서 'Return'키 사용 안 함
컨트롤러에서'새로 고침 '을 호출 할 수 있습니까? – Shimmy
현재 버전에서는 보이지 않습니다. – toddmo