Ejemplo n.º 1
0
        public object GetOrResolve(string alias, PropertyInfo propertyInfo)
        {
            object value;

            if (!_valueCache.TryGetValue(alias, out value))
            {
                lock (_cacheLock)
                {
                    if (!_valueCache.TryGetValue(alias, out value))
                    {
                        _umbracoContext.TryGetValueForProperty(
                            (propAlias, recursive) => ResolveValue(propAlias, recursive, _node),
                            propertyInfo,
                            out value);

                        _valueCache.Add(alias, value);
                    }
                }
            }
            else
            {
                Console.WriteLine("From cache");
            }

            return(value);
        }
        public object GetOrResolve(string alias, PropertyInfo propertyInfo)
        {
            return(_valueCache.GetOrAdd(alias, key =>
            {
                object value;
                _umbracoContext.TryGetValueForProperty(
                    (propAlias, recursive) => ResolveValue(propAlias, recursive, _node),
                    propertyInfo,
                    out value);

                return value;
            }));
        }