private int GetContextKey(Castle.MicroKernel.Context.CreationContext context) { int hash = 0; foreach (var value in context.AdditionalArguments.Values) { hash = HashCode.CombineHashCode(hash, value.GetHashCode()); } return(hash); }