/// <summary> /// Default constructor. /// </summary> /// <param name="table">Table of views to use for resolution.</param> public EmbeddedViewVirtualPathProvider(EmbeddedViewTable table) { if (table == null) { throw new ArgumentNullException("table", "EmbeddedViewTable cannot be null."); } embeddedViews = table; }
/// <summary> /// Creates a list of embedded views from currently assemblies in the AppDomain. /// </summary> /// <returns></returns> public virtual EmbeddedViewTable GetEmbeddedViews() { Assembly[] assemblies = GetAssemblies(); if (assemblies == null || assemblies.Length == 0) { return(null); } var table = new EmbeddedViewTable(); foreach (var assembly in assemblies) { var names = GetNamesOfAssemblyResources(assembly); if (names == null || names.Length == 0) { continue; } foreach (var name in names) { var key = name.ToLowerInvariant(); if (!EmbeddedNamespaces.Any(key.Contains)) { continue; } table.AddView(name, assembly.FullName); } } return(table); }
/// <summary> /// Creates a list of embedded views from currently assemblies in the AppDomain. /// </summary> /// <returns></returns> public virtual EmbeddedViewTable GetEmbeddedViews() { Assembly[] assemblies = GetAssemblies(); if (assemblies == null || assemblies.Length == 0) return null; var table = new EmbeddedViewTable(); foreach (var assembly in assemblies) { var names = GetNamesOfAssemblyResources(assembly); if (names == null || names.Length == 0) continue; foreach (var name in names) { var key = name.ToLowerInvariant(); if (!EmbeddedNamespaces.Any(key.Contains)) continue; table.AddView(name, assembly.FullName); } } return table; }