1

我已经构建了一个基于 HTTPListener 类的小型 HTTP 服务器。

我想知道的是,是否有任何脚本语言可以放入我的 HTML 文件中,可以在 C# 中本地执行?

类似于 PHP 与 HTML 代码混合时的工作方式。

4

3 回答 3

1

您可以使用任何可用的 .NET 模板引擎,例如 WebForms、Razor...

于 2013-03-10T08:31:45.343 回答
1

您可以使用一种:T4。

如果您想在运行时定义模板,则需要提供对 Microsoft.VisualStudio.TextTemplating 的引用,您可以从文章Processing Text Templates by using a Custom Host (at msdn) 中了解如何实用地使用它。

来自文章:

要执行文本模板,请调用 Microsoft.VisualStudio.TextTemplating.Engine 的 ProcessTemplate 方法:

using Microsoft.VisualStudio.TextTemplating;
...
Engine engine = new Engine();
string output = engine.ProcessTemplate(templateString, host);

在 host 参数中,您必须提供一个实现 ITextTemplatingEngineHost 的类。这由引擎回调。

通过这种方法,您可以让程序从文件中读取模板或从资源中加载模板。

文章演练:创建自定义文本模板主机(也在 msdn)将帮助您实现接口 ITextTemplatingEngineHost。


作为替代方案,如果您预先定义了固定模板,您可以创建 tt 文件并使用以下方法:

TestTemplate testTemplate = new TestTemplate();
string output = testTemplate.TransformText();

其中 TestTemplate 是 VisualStudio 从 TestTemplate.tt 文件生成的类。使用这种方法,模板在编译时是固定的。因此,您将无法在运行时定义它,例如通过从文件中读取它。

于 2013-03-10T09:06:24.063 回答
0

如果您想要一些简单的东西,我建议您查看 T4 模板。你可以从这里这里开始

于 2013-03-10T09:01:28.390 回答