javascript 中有个eval方法,用过的人都知道他的方便和强大之处。

在C#中,我们也可以通过Com组件来执行一段javascript代码。

下面的代码展示了如何用MSScriptControl 组件执行一段数学表达式:

MSScriptControl.ScriptControlClass sc = new MSScriptControl.ScriptControlClass();
   sc.Language = "javascript";
   object obj = sc.Eval(" 1 + 2 * (3 + 4)");
   Console.WriteLine(obj);

要使用MSScriptControl需要引用com组件 Microsoft Script Control 1.0。

还有一种方法:

// csc.exe noname1.cs /r:C:\WINDOWS\Microsoft.NET\Framework\v1.1.4322\Microsoft.JScript.dll

//注:需加入Microsoft.JScript与Microsoft.Vsa两个命名空间。

public class Class1

{

static void Main(string[] args)

{

System.Console.WriteLine("Hello World");

string Expression = "var result:int =0;result==1?\"成功\":\"失败\"";

Microsoft.JScript.Vsa.VsaEngine ve = Microsoft.JScript.Vsa.VsaEngine.CreateEngine();

Console.WriteLine(Microsoft.JScript.Eval.JScriptEvaluate(Expression, ve));

}

}

MS Script Control的 COM相关推荐

  1. vba 执行网页javascript_Excel中使用JavaScript的方法

    基础篇 Excel的缺省脚本语言是VBA,所以系统的一切接口理论上都是可以通过VBA脚本访问的,而使用其他脚本语言可能只能访问部分功能,这点是需要开发者明确的.但是Javascript脚本的好处是,其 ...

  2. 在c#中调用windows脚本的方法

    在c#中调用windows脚本的方法 方法1:直接调用   CODE:   System.Diagnostics.Process proc = new System.Diagnostics.Proce ...

  3. 使用yuicompressor 压缩js, CSS

    前言 保持web页面的轻量级,提高网页工程设计提升web应用程序的性能永远是一个主要策略.但是,还是有一些其他的辅助策略提升系统系统,像压缩代码, HTTP压缩传输 和使用CSS 精灵等. 压缩代码, ...

  4. msscript 64位找不到的替代方法

    为什么80%的码农都做不了架构师?>>>    最近在维护以前的旧C#工程项目中,发现了一个使用了msscript控件的问题.该工程移植到64位系统中,进行编译的时候,发现MSSCr ...

  5. ASP WebShell 后门脚本与免杀

    随着时间的推移和其它新型动态网页技术的兴起,使用ASP(Active Server Page)技术构建的Web应用越来越少.ASP的衰落.旧资料和链接的失效.前辈们早期对ASP较多的研究,都导致了新型 ...

  6. ASP漏洞及安全建议

    ASP漏洞及安全建议 一 前言 Microsoft Active Server Pages(ASP)是服务器端脚本编写环境,使用它可以创建和运行动态.交互的 Web 服务器应用程序.使用 ASP 可以 ...

  7. GIS开发进阶之路(十四) ArcEngine打开cad文件的五种方法、ArcGIS Engine错误码

    ArcEngine打开cad文件的几种方法 方法一.通过遍历CAD数据集,依次加载中点线面注记等图层,所加载的数据均为一个独立的图层. IWorkspaceFactory pWorkspaceFact ...

  8. h5新增标签属性以及api

    简介: H5是最新的HTML标准 H5是专门为承载丰富的web内容而设计的,并且无需额外的插件 H5拥有新的语义.图形.及多媒体元素 H5提供新的元素和新的api,简化了web应用程序的搭建 H5是跨 ...

  9. 三层网络体系组成结构

    三层结构主要由如下三部分组成: 1.客户端 客户端的主要任务是显示用户界面,接收用户事件.三层体系结构中,用户界面通过浏览器显示,Web Server将应答最终以HTML为载体下载到客户端浏览器,经浏 ...

最新文章

  1. 利用WebClient和WebRequest类获得网页源代码C#
  2. python用什么编译器较好-python用什么编译器
  3. 线程共享的环境包括:进程代码段、进程的公有数据(利用这些共享的数据,线程很容易的实现相互之间的通讯)、进程打开的文件描述符、信号的处理器、进程的当前目录和进程用户ID与进程组ID。 进程拥有这
  4. 【spring-cloud】Eureka server和client之间的心跳通信
  5. wireshark 过滤表达式
  6. SpringBoot 操作 Redis的各种实现(以及Jedis、Redisson、Lettuce的区别比较)
  7. pytorch l2正则化_理解机器学习中的 L2 正则化
  8. 如何用vs2013开发人员命令提示工具执行一个方法(一个简单的demo)
  9. java 内嵌chrome_[Java教程]Jcef内嵌浏览器windows版本的编译及使用
  10. UART read过程分析
  11. 面试被问离职原因,别乱说
  12. 微信小程序识别字符串中的手机号,手机号高亮显示,并且可以点击这个手机号,拨打电话?
  13. 如何使用MySQL存储Emoji表情,UTF-8和UTF-8MB4字符编码有何区别?
  14. 【云真机平台】稳定性测试自动化脚本
  15. 工单流转功能的简单实现
  16. Android 12 init(3) 属性服务
  17. 《初入linux》--第二十部分-Apache服务器的几个实用技巧
  18. 为什么CSDN文章总是待审核?
  19. Pycharm图形化性能测试工具Profile
  20. C语言北京时间与格林威治时间戳的转换

热门文章

  1. 信息学奥赛一本通 1013:温度表达转化 | OpenJudge NOI 1.3 08
  2. Knight Moves(信息学奥赛一本通-T1450)
  3. 暑期训练日志----2018.8.20
  4. 最短网络(信息学奥赛一本通-T1350)
  5. 信息学奥赛C++语言: 选夏令营旗手1
  6. 日语学习-多邻国-关卡1-学校
  7. c语言中有死循环时上机编译,2011级C语言复习题(精简)
  8. linux那些事之early pape fault
  9. 压缩版styleGAN(Mobile StyleGAN)参数更少、计算复杂度更低
  10. [实验流体力学][Matlab] pi 定理的应用