在C#应用程序中执行JavaScript函数

在不使用WebBrowser控件的情况下,如何在C#应用程序中执行与任何浏览器DOM依赖关系分离的JavaScript函数? 我正在调查实施validation规则一次,用于服务器和客户端validation。 如果您愿意,请参阅此问题以供参考。 我可以使用任何JS解释器库吗?

附录:我的目标是在客户端和服务器上自动部署和调用完全相同的validation逻辑,在实际validation期间不进行两者之间的通信。 因此,理想情况下,我会在JavaScript中编写validation逻辑,并将其呈现给页面。 或者,我可以在C#中编写逻辑代码,使用脚本#将其转换为JavaScript,并将其呈现给页面。

我不希望在客户端和服务器端维护单独的validationfunction,并且我不希望AJAX调用服务器validationfunction,并且我不希望仅客户端或仅服务器validation。

这可能有助于C#/ VB.NET / JScript.NET的脚本宿主它使用Framework中的内置类来执行VB,C#或JavaScript中的脚本。

它使用CodeDomProvider来执行脚本,还可以查看本文以获取更复杂的示例。

您可以使用JScript.Net

要么是,要么调查脚本#

Windows脚本宿主 (WSH)是一种Windows管理工具。 您可以使用PInvokeC#激活它。 识别MS的特定(和旧)版本的JavaScript。

WSH为托管脚本创建了一个环境。 也就是说,当脚本到达您的计算机时,WSH扮演主机的一部分 – 它为脚本提供了可用的对象和服务,并提供了一组执行脚本的指南。 除此之外,Windows Script Host还管理安全性并调用相应的脚本引擎。

尝试pinvoke蜘蛛猴 – http://www.mozilla.org/js/spidermonkey/