url不重复会造成asp.net的私有缓存占用内存过高
asp.net中会对url做MapPath缓存,并且这个缓存的过期时间是never。当url中带有不重复参数时,会造成url的不重复,同时会造成asp.net的私有缓存中存储大量MapPathCacheInfo对象,缓存类型是System.Web.Cache.CacheEntry。在asp.net4正式版中提供了补丁可以对asp.net4版本上的这个问题进行修补http://support.microsoft.com/kb/2504047,修补后可以通过在System.web中添加配置项<hostingEnvironment urlMetadataSlidingExpiration="hh:mm:ss"/>来控制私有缓存的过期时间,建议将urlMetadataSlidingExpiration设置为00:00:00。
记录