public virtual RazorLightEngine Build() { var options = new RazorLightOptions(); if (namespaces != null) { options.Namespaces = namespaces; } if (dynamicTemplates != null) { options.DynamicTemplates = dynamicTemplates; } if (metadataReferences != null) { options.AdditionalMetadataReferences = metadataReferences; } if (prerenderCallbacks != null) { options.PreRenderCallbacks = prerenderCallbacks; } var sourceGenerator = new RazorSourceGenerator(DefaultRazorEngine.Instance, project, options.Namespaces); var metadataReferenceManager = new DefaultMetadataReferenceManager(options.AdditionalMetadataReferences); var assembly = operatingAssembly ?? Assembly.GetEntryAssembly(); var compiler = new RoslynCompilationService(metadataReferenceManager, assembly); var templateFactoryProvider = new TemplateFactoryProvider(sourceGenerator, compiler, options); return(new RazorLightEngine(options, templateFactoryProvider, cachingProvider)); }
public EngineHandler( RazorLightOptions options, IRazorTemplateCompiler compiler, ITemplateFactoryProvider factoryProvider, ICachingProvider cache) { Options = options ?? throw new ArgumentNullException(nameof(options)); Compiler = compiler ?? throw new ArgumentNullException(nameof(compiler)); FactoryProvider = factoryProvider ?? throw new ArgumentNullException(nameof(factoryProvider)); Cache = cache; }
public RazorLightEngine( RazorLightOptions options, IRazorTemplateCompiler templateCompiler, ITemplateFactoryProvider factoryProvider, ICachingProvider cachingProvider) { Options = options ?? throw new ArgumentNullException(nameof(options)); TemplateFactoryProvider = factoryProvider ?? throw new ArgumentNullException(nameof(factoryProvider)); TemplateCompiler = templateCompiler ?? throw new ArgumentNullException(nameof(templateCompiler)); TemplateCache = cachingProvider; }
/// <summary> ///Creates RazorLightEngine with a custom RazorLightProject /// </summary> /// <param name="project">The project</param> /// <returns>Instance of RazorLightEngine</returns> public virtual RazorLightEngine Create(RazorLightProject project, RazorLightOptions options = null) { var razorOptions = options ?? new RazorLightOptions(); var sourceGenerator = new RazorSourceGenerator(DefaultRazorEngine.Instance, project, razorOptions.Namespaces); var metadataReferenceManager = new DefaultMetadataReferenceManager(razorOptions.AdditionalMetadataReferences); var compiler = new RoslynCompilationService(metadataReferenceManager, Assembly.GetEntryAssembly()); var templateFactoryProvider = new TemplateFactoryProvider(sourceGenerator, compiler, razorOptions); ICachingProvider cacheProvider = new MemoryCachingProvider(); return(new RazorLightEngine(razorOptions, templateFactoryProvider, cacheProvider)); }
public RazorLightEngine( RazorLightOptions options, ITemplateFactoryProvider factoryProvider, ICachingProvider cachingProvider) { if (options == null) { throw new ArgumentNullException(nameof(options)); } if (factoryProvider == null) { throw new ArgumentNullException(nameof(factoryProvider)); } Options = options; templateFactoryProvider = factoryProvider; cache = cachingProvider; }
public virtual RazorLightEngine Build() { options = options ?? new RazorLightOptions(); project = project ?? new NoRazorProject(); if (namespaces != null) { if (namespaces.Count > 0 && options.Namespaces.Count > 0) { ThrowIfHasBeenSetExplicitly(nameof(namespaces)); } options.Namespaces = namespaces; } if (dynamicTemplates != null) { if (dynamicTemplates.Count > 0 && options.DynamicTemplates.Count > 0) { ThrowIfHasBeenSetExplicitly(nameof(dynamicTemplates)); } options.DynamicTemplates = dynamicTemplates; } if (metadataReferences != null) { if (metadataReferences.Count > 0 && options.AdditionalMetadataReferences.Count > 0) { ThrowIfHasBeenSetExplicitly(nameof(metadataReferences)); } options.AdditionalMetadataReferences = metadataReferences; } if (excludedAssemblies != null) { if (excludedAssemblies.Count > 0 && options.ExcludedAssemblies.Count > 0) { ThrowIfHasBeenSetExplicitly(nameof(excludedAssemblies)); } options.ExcludedAssemblies = excludedAssemblies; } if (prerenderCallbacks != null) { if (prerenderCallbacks.Count > 0 && options.PreRenderCallbacks.Count > 0) { ThrowIfHasBeenSetExplicitly(nameof(prerenderCallbacks)); } options.PreRenderCallbacks = prerenderCallbacks; } if (cachingProvider != null) { if (options.CachingProvider != null) { ThrowIfHasBeenSetExplicitly(nameof(cachingProvider)); } options.CachingProvider = cachingProvider; } if (disableEncoding.HasValue) { if (options.DisableEncoding != null) { ThrowIfHasBeenSetExplicitly(nameof(disableEncoding)); } options.DisableEncoding = options.DisableEncoding ?? disableEncoding ?? false; } else { if (!options.DisableEncoding.HasValue) { options.DisableEncoding = false; } } if (enableDebugMode.HasValue && options.EnableDebugMode.HasValue) { ThrowIfHasBeenSetExplicitly(nameof(enableDebugMode)); } else { options.EnableDebugMode = options.EnableDebugMode ?? enableDebugMode ?? false; } var metadataReferenceManager = new DefaultMetadataReferenceManager(options.AdditionalMetadataReferences, options.ExcludedAssemblies); var assembly = operatingAssembly ?? Assembly.GetEntryAssembly(); var compiler = new RoslynCompilationService(metadataReferenceManager, assembly); var sourceGenerator = new RazorSourceGenerator(DefaultRazorEngine.Instance, project, options.Namespaces); var templateCompiler = new RazorTemplateCompiler(sourceGenerator, compiler, project, options); var templateFactoryProvider = new TemplateFactoryProvider(); var engineHandler = new EngineHandler(options, templateCompiler, templateFactoryProvider, cachingProvider); return(new RazorLightEngine(engineHandler)); }
public RazorLightEngineBuilder UseOptions(RazorLightOptions razorLightOptions) { options = razorLightOptions; return(this); }
/// <summary> /// Creates RazorLightEngine with a custom RazorLightProject /// </summary> /// <param name="project">The project</param> /// <param name="options">Options for configuring the RazorLightEngine.</param> /// <returns>Instance of RazorLightEngine</returns> public virtual RazorLightEngine Create(RazorLightProject project, RazorLightOptions options = null) { return(null); }
public RazorLightEngine Create(RazorLightOptions options = null) { return(Create(null, options)); }
/// <summary> /// Creates RazorLightEngine with a embedded resource razor project /// </summary> /// <param name="rootType">Type of the root.</param> /// <param name="options">Engine options</param> /// <returns>Instance of RazorLightEngine</returns> public virtual RazorLightEngine ForEmbeddedResources(Type rootType, RazorLightOptions options) { var project = new EmbeddedRazorProject(rootType); return(Create(project, options)); }
/// <summary> /// Creates RazorLightEngine with a filesystem razor project /// </summary> /// <param name="root">Root folder where views are stored</param> /// <param name="options">Engine options</param> /// <returns>Instance of RazorLightEngine</returns> public virtual RazorLightEngine ForFileSystem(string root, RazorLightOptions options) { var project = new FileSystemRazorProject(root); return(Create(project, options)); }