Example #1
0
 /// <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()));
        }