/// <summary> /// Returns the prefix to be used in a full cache key /// </summary> /// <param name="input"></param> /// <returns></returns> public static string GetCacheKeyPrefix(IMethodInvocation input) { var provider = input.Target as ICacheKeyPrefixProvider; var prefix = provider != null ? provider.GetCacheKeyPrefix() : input.GetMethodCallPrefix().Trim(); Log.Debug("CacheKeyBuilder.GetCacheKeyPrefix - returned {0}", prefix); return prefix; }
/// <summary> /// Returns the prefix to be used in a full cache key /// </summary> /// <param name="input"></param> /// <returns></returns> public static string GetCacheKeyPrefix(IMethodInvocation input) { var provider = input.Target as ICacheKeyPrefixProvider; var prefix = provider != null?provider.GetCacheKeyPrefix() : input.GetMethodCallPrefix().Trim(); //Log.Debug("CacheKeyBuilder.GetCacheKeyPrefix - returned {0}", prefix); return(prefix); }
/// <summary> /// Returns the name and parameters of the invocation as a formatted string /// </summary> /// <param name="invocation"></param> /// <param name="argumentSerializer"></param> /// <param name="prefix"></param> /// <param name="includeParameterNames">Whether the output includes parameter names</param> /// <param name="separator">Separator between parameters</param> /// <param name="valueSeparator">Separator between parameter names and values</param> /// <returns></returns> public static string ToTraceString(this IMethodInvocation invocation, ISerializer argumentSerializer, string prefix, bool includeParameterNames, string separator, string valueSeparator) { if (prefix.IsNullOrEmpty()) { prefix = invocation.GetMethodCallPrefix(); } var callBuilder = new StringBuilder(); callBuilder.Append(prefix); BuildArgumentsString(callBuilder, invocation, argumentSerializer, includeParameterNames, separator, valueSeparator); return(callBuilder.ToString().TrimEnd(valueSeparator.ToCharArray())); }