private static EnhanceViewEnginesAttribute GetEnhanceAttribute(Type controllerType)
        {
            var enhanceAttr = controllerType.GetCustomAttributes(typeof(EnhanceViewEnginesAttribute), true).FirstOrDefault() as EnhanceViewEnginesAttribute;

            if (enhanceAttr != null)
            {
                return(enhanceAttr);
            }

            var key = controllerType.FullName;

            if (!FrontendControllerFactory.EnhanceAttributes.ContainsKey(key))
            {
                lock (FrontendControllerFactory.EnhanceAttributes)
                {
                    if (!FrontendControllerFactory.EnhanceAttributes.ContainsKey(key))
                    {
                        var newEnhanceAttr = new EnhanceViewEnginesAttribute
                        {
                            Disabled    = !FrontendControllerFactory.IsInDefaultMvcNamespace(controllerType),
                            VirtualPath = AppendDefaultPath(FrontendManager.VirtualPathBuilder.GetVirtualPath(controllerType.Assembly))
                        };

                        FrontendControllerFactory.EnhanceAttributes.Add(key, newEnhanceAttr);
                    }
                }
            }

            enhanceAttr = FrontendControllerFactory.EnhanceAttributes[key];

            return(enhanceAttr);
        }
Exemplo n.º 2
0
        private EnhanceViewEnginesAttribute GetEnhanceAttribute(Type controllerType)
        {
            EnhanceViewEnginesAttribute enhanceAttr = controllerType.GetCustomAttributes(typeof(EnhanceViewEnginesAttribute), true).FirstOrDefault() as EnhanceViewEnginesAttribute;

            if (enhanceAttr != null)
            {
                return(enhanceAttr);
            }
            else
            {
                enhanceAttr             = new EnhanceViewEnginesAttribute();
                enhanceAttr.Disabled    = !this.IsInDefaultMvcNamespace(controllerType);
                enhanceAttr.VirtualPath = FrontendControllerFactory.AppendDefaultPath(FrontendManager.VirtualPathBuilder.GetVirtualPath(controllerType.Assembly));
                return(enhanceAttr);
            }
        }