在独立应用程序中使用Spark View Engine

时间:2009-10-20 21:24:20

标签: c# spark-view-engine

我的客户端应用程序需要生成HTML。我想使用像Spark这样的模板/视图引擎解决方案,但我不确定Spark是否可以在ASP.NET应用程序之外使用。有没有人知道以这种方式使用Spark的任何样本或文档?

(如果您知道可以单独使用的其他视图引擎解决方案,我也很想知道这些。)

5 个答案:

答案 0 :(得分:14)

除了其他示例,我在Spark源代码中找到了一个简单的例子。 Xpark项目是一个使用Spark转换XML的命令行应用程序。 Spark的创建者Louis DeJardin在他的博客上描述了how Xpark works

相关的代码段是:

    // Create an engine using the templates path as the root location
    // as well as the shared location
    var engine = new SparkViewEngine
        {
             DefaultPageBaseType = typeof(SparkView).FullName,
             ViewFolder = viewFolder.Append(new SubViewFolder(viewFolder, "Shared"))
        };

    SparkView view;

    // compile and instantiate the template
    view = (SparkView)engine.CreateInstance(
                          new SparkViewDescriptor()
                              .AddTemplate(templateName));

    // render the view to stdout
    using (var writer = new StreamWriter(Console.OpenStandardOutput(), Encoding.UTF8))
    {
        view.RenderView(writer);
    }

这足以让我指出正确的方向。但我肯定会深入研究其他例子。

答案 1 :(得分:3)

您应该查看Docu,此项目使用Spark视图引擎生成HTML文档(而不是ASP.NET Web应用程序)。

但请注意,我不知道该项目是使用Spark版本1.0,它可能是早期版本。

http://docu.jagregory.com/

http://github.com/jagregory/docu

答案 2 :(得分:1)

不确定。可能最完整的示例是查看ASP.NET MVC本身的Spark视图引擎代码。

它也在测试中,所以阅读测试应该会给你一个很好的起点。

答案 3 :(得分:1)

如果它对其他人有帮助,我需要在MVC项目之外使用Spark引擎来完成类似的事情 我创建了一个使用Spark视图引擎进行简单模板操作的示例(非常简化)C#项目。也许有人可以用它作为起点/耸肩 http://jezel.googlecode.com/files/SparkTemplateExample.zip

我的大多数模板代码都是基于审查Jonas Gauffin's C# WebServer项目,他以类似的方式将Spark Engine用于模板。

答案 4 :(得分:0)

参见以下示例: https://github.com/SparkViewEngine/spark/tree/master/src/Samples/DirectUsage

不幸的是,这些似乎需要System.Web.Mvc,我宁愿不参考。