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); }
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); } }