public void Install(IWindsorContainer container, IConfigurationStore store) { ViewEngines.Engines.Clear(); var settings = new SparkSettings() .SetAutomaticEncoding(true) .AddNamespace("Microsoft.Web.Mvc") .AddNamespace("System") .AddNamespace("System.Collections.Generic") .AddNamespace("System.Linq") .AddNamespace("System.Web.Mvc") .AddNamespace("System.Web.Mvc.Html") .AddNamespace("WhoCanHelpMe.Framework.Extensions") .AddNamespace("WhoCanHelpMe.Web.Code"); // Add all namespaces from controllers project. typeof(HomeController).Assembly .GetExportedTypes() .Select(t => t.Namespace) .Distinct() .ToList() .ForEach(n => settings.AddNamespace(n)); var services = SparkEngineStarter.CreateContainer(settings); SparkEngineStarter.RegisterViewEngine(services); }
public ThemedViewFactory() { var container = SparkEngineStarter.CreateContainer(); _defaultViewFolder = container.GetService <IViewFolder>(); _defaultEngine = container.GetService <IViewEngine>(); }
public void RegisterViewEngine(ICollection <IViewEngine> engines) { var services = SparkEngineStarter.CreateContainer(); services.AddFilter(ThemeDescriptorFilter.For(GetTheme)); SparkEngineStarter.RegisterViewEngine(engines, services); }
public void AddTheme(string name) { IViewFolder themeFolder = new VirtualPathProviderViewFolder("~/Themes/" + name); themeFolder = themeFolder.Append(_defaultViewFolder); var container = SparkEngineStarter.CreateContainer(); container.SetService(themeFolder); _themedEngines.Add(name, container.GetService <IViewEngine>()); }
protected void InstallDefaultViewEngine() { // install custom AreaDescriptorBuilder to support MVC2 areas var services = SparkEngineStarter.CreateContainer(); services.SetServiceBuilder <IDescriptorBuilder>(c => CreateSparkDescriptorBuilder()); services.SetService <ISparkSettings>(CreateSparkSettings()); SparkEngineStarter.RegisterViewEngine(services); var views = Path.Combine(Server.MapPath("~"), "bin", "Ascend.Web.Views.dll"); if (File.Exists(views)) { var factory = services.GetService <IViewEngine>() as SparkViewFactory; factory.Engine.LoadBatchCompilation(Assembly.LoadFile(views)); } }
protected void InstallCssViewEngine() { // replace the standard '#' spark statement marker with something // that no css line ever starts with var settings = CreateSparkSettings(); settings.StatementMarker = ">"; // install custom AreaDescriptorBuilder to support MVC2 areas, then // apply the css filter, which just replaces all .spark extensions // with .css extensions. var builder = CreateSparkDescriptorBuilder(); var services = SparkEngineStarter.CreateContainer(); services.SetServiceBuilder <IDescriptorBuilder>(c => builder); services.SetService <ISparkSettings>(settings); SparkEngineStarter.RegisterViewEngine(services); }
public void CreatingViewEngineWithSimpleContainer() { var settings = new SparkSettings().AddNamespace("System.Web.Mvc.Html"); var container = SparkEngineStarter.CreateContainer(settings); var viewFactory = (SparkViewFactory)container.GetService <IViewEngine>(); var viewEngine = container.GetService <ISparkViewEngine>(); var viewFolder = container.GetService <IViewFolder>(); var descriptorBuilder = container.GetService <IDescriptorBuilder>(); var cacheServiceProvider = container.GetService <ICacheServiceProvider>(); var viewActivatorFactory = container.GetService <IViewActivatorFactory>(); Assert.AreSame(settings, viewFactory.Settings); Assert.AreSame(settings, viewEngine.Settings); Assert.AreSame(viewEngine, viewFactory.Engine); Assert.AreSame(viewFolder, viewEngine.ViewFolder); Assert.AreSame(viewFolder, viewFactory.ViewFolder); Assert.AreSame(descriptorBuilder, viewFactory.DescriptorBuilder); Assert.AreSame(cacheServiceProvider, viewFactory.CacheServiceProvider); Assert.AreSame(viewActivatorFactory, viewFactory.ViewActivatorFactory); }