C# 自定义服务器脚本

C# 自定义服务器脚本,c#,.net,C#,.net,我基于HTTPListener类构建了一个小型HTTP服务器 我想知道的是,有没有什么脚本语言可以放在我的HTML文件中,可以在C#中本机执行 类似于PHP与HTML代码混合时的工作方式 lee您可以使用.NET的任何可用模板引擎,如WebForms、Razor等如果您想要一些简单的东西,我建议您查看T4模板。您可以从开始,并且有一个您可以使用:T4 如果希望在运行时定义模板,则需要提供对Microsoft.VisualStudio.TextTemplating的引用,您可以从文章(msdn)中

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

我想知道的是,有没有什么脚本语言可以放在我的HTML文件中,可以在C#中本机执行

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


lee

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

如果您想要一些简单的东西,我建议您查看T4模板。您可以从开始,并且有一个您可以使用:T4

如果希望在运行时定义模板,则需要提供对Microsoft.VisualStudio.TextTemplating的引用,您可以从文章(msdn)中了解如何实际使用它

从文章中:

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

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文件生成的类。使用此方法,模板在编译时固定。因此,您将无法在运行时定义它,例如从文件中读取它。

谢谢。我快速看了一眼。但不清楚我是否可以将它们包含在一个独立的.NET Winform应用程序中。所有的说明似乎都是针对asp.net的。我希望能找到一些简单的东西。也许是从HTML文件中提取脚本并像运行C#代码一样运行它。有没有这样的方法?使用HttpListener类和WebForm视图引擎构建web服务器很简单。看看这里:谢谢你,达林。只是为了确保我没有遗漏任何东西;此解决方案适用于WinForm应用程序,而不是ASP,对吗?不,此解决方案不是专门针对WinForms的。此解决方案可以在任何类型的应用程序(包括WinForms)中工作。如果愿意,您甚至可以在控制台应用程序中托管HttpListener。谢谢。这是一个伟大的线索。我现在正在尝试,但是,应用程序似乎不想找到我的文件。我的文件系统中是否有HTML文件的默认位置?