public override void Invoke(AMFContext context) { MessageOutput messageOutput = context.MessageOutput; if ((FluorineConfiguration.Instance.CacheMap != null) && (FluorineConfiguration.Instance.CacheMap.Count > 0)) { for (int i = 0; i < context.AMFMessage.BodyCount; i++) { AMFBody bodyAt = context.AMFMessage.GetBodyAt(i); if ((messageOutput.GetResponse(bodyAt) == null) && !bodyAt.IsEmptyTarget) { string target = bodyAt.Target; IList parameterList = bodyAt.GetParameterList(); string cacheKey = CacheMap.GenerateCacheKey(target, parameterList); if (FluorineConfiguration.Instance.CacheMap.ContainsValue(cacheKey)) { object content = FluorineConfiguration.Instance.CacheMap.Get(cacheKey); if ((log != null) && log.get_IsDebugEnabled()) { log.Debug(__Res.GetString("Cache_HitKey", new object[] { bodyAt.Target, cacheKey })); } CachedBody body = new CachedBody(bodyAt, content); messageOutput.AddBody(body); } } } } }
public override void Invoke(AMFContext context) { MessageOutput messageOutput = context.MessageOutput; if (FluorineConfiguration.Instance.CacheMap != null && FluorineConfiguration.Instance.CacheMap.Count > 0) { for (int i = 0; i < context.AMFMessage.BodyCount; i++) { AMFBody amfBody = context.AMFMessage.GetBodyAt(i); //Check if response exists. ResponseBody responseBody = messageOutput.GetResponse(amfBody); if (responseBody != null) { //AuthenticationFilter may insert response. continue; } if (!amfBody.IsEmptyTarget) { string source = amfBody.Target; IList arguments = amfBody.GetParameterList(); string key = GodLesZ.Library.Amf.Configuration.CacheMap.GenerateCacheKey(source, arguments); //Flash message if (FluorineConfiguration.Instance.CacheMap.ContainsValue(key)) { object cachedContent = FluorineConfiguration.Instance.CacheMap.Get(key); if (log != null && log.IsDebugEnabled) log.Debug(__Res.GetString(__Res.Cache_HitKey, amfBody.Target, key)); CachedBody cachedBody = new CachedBody(amfBody, cachedContent); messageOutput.AddBody(cachedBody); } } } } }
public override void Invoke(AMFContext context) { MessageOutput messageOutput = context.MessageOutput; if (FluorineConfiguration.Instance.CacheMap != null && FluorineConfiguration.Instance.CacheMap.Count > 0) { for (int i = 0; i < context.AMFMessage.BodyCount; i++) { AMFBody amfBody = context.AMFMessage.GetBodyAt(i); //Check if response exists. ResponseBody responseBody = messageOutput.GetResponse(amfBody); if (responseBody != null) { //AuthenticationFilter may insert response. continue; } if (!amfBody.IsEmptyTarget) { string source = amfBody.Target; IList arguments = amfBody.GetParameterList(); string key = FluorineFx.Configuration.CacheMap.GenerateCacheKey(source, arguments); //Flash message if (FluorineConfiguration.Instance.CacheMap.ContainsValue(key)) { object cachedContent = FluorineConfiguration.Instance.CacheMap.Get(key); if (log != null && log.IsDebugEnabled) { log.Debug(__Res.GetString(__Res.Cache_HitKey, amfBody.Target, key)); } CachedBody cachedBody = new CachedBody(amfBody, cachedContent); messageOutput.AddBody(cachedBody); } } } } }