Exemple #1
0
        public TemplateFactory GetCompiledTemplate(ViewSourceCollection viewSourceCollection, Type templateBaseType)
        {
            Invariant.ArgumentNotNull(viewSourceCollection, "viewSourceCollection");
            Invariant.ArgumentNotNull(templateBaseType, "templateBaseType");

            templateBaseType = ProxyExtracter.GetNonProxiedType(templateBaseType);
            var className = viewSourceCollection.GetClassName();

            lock ( _compiledTemplateCache )
            {
                return(_compiledTemplateCache.GetOrAdd(className, viewSourceCollection[0].TimeStamp,
                                                       () => _templateFactoryFactory.CompileTemplateFactory(className, viewSourceCollection, templateBaseType)));
            }
        }