zoukankan      html  css  js  c++  java
  • 在服务器执行js脚本

    javascript做为客户端脚本,实际是不能在服务器执行了,但是在.net中可以编写jscript服务器脚本来执行

    首先,引用Microsoft.JScript

    第一种方法,动态编译

     

    public class JScripta
    {
        private static readonly CodeDomProvider _provider = new Microsoft.JScript.JScriptCodeProvider();
        private static Type _evaluateType;
        private const string EVAL_SOURCE = @"package aa
    {
    public class JScript
    {
      public static function a(s)
      {
            var w='3';
        return s + '1'+w +a2(); 
      }
      public static function a2()
      {

        return 'aaaaaaaaa';
      }
    }
    }";
        public static void JScriptUtil()
        {
            CompilerParameters parameters = new CompilerParameters();
            parameters.GenerateInMemory = true;

     

            CompilerResults results = _provider.CompileAssemblyFromSource(parameters,EVAL_SOURCE);


            Assembly assembly = results.CompiledAssembly;
            _evaluateType = assembly.GetType("aa.JScript");
            object[] w = new object[] { "a" };

            object ww = _evaluateType.InvokeMember("md5", BindingFlags.InvokeMethod,
                        null, null, w);
        }

    }

    第二种方法,把.js文件编译成dll

    csc.exe C#编译器
    vbc.exe vb.net编译器
    jsc.exe JScript.Net编译器
    vjc.exe J#编译器
    cl.exe C/C++编译器

    在这里用jsc.exe

    可以做个.bat文件

    CD E:\batch\Jscript

    jsc /t:library E:\batch\Jscript\JScript.js

    pause

    CD..

    如果提示没有jsc.exe那么 把jsc.exe的路径添加到系统环境变量的path中去

    JScript.js代码如下

    public class JScript
    {
      public static function a(s)
      {
            var w='3';
        return s + '1'+w +a2(); 
      }
      public static function a2()
      {

        return "aaaaaaaaa";
      }
    }

    编译后引入dll

    object a= JScript.a("1");

  • 相关阅读:
    Linux基础 —— 操作系统简介
    Linux基础 —— 操作系统简介
    24小时学通Linux —— 第二讲 Linux操作的基本概念与命令
    24小时学通Linux —— 第二讲 Linux操作的基本概念与命令
    h不发音
    二手苍茫:你把贵族干掉了,流氓不横行才怪呢
    怎么应对看美女
    如何编顺口溜
    清净法师:为什么遭遇不幸
    当智商高到一定程度,情商就不重要了——牛逼顿的一生
  • 原文地址:https://www.cnblogs.com/cuihongyu3503319/p/1278573.html
Copyright © 2011-2022 走看看