• 在服务器执行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");

  • 相关阅读:
    React生命周期, 兄弟组件之间通信
    React组件式编程Demo-用户的增删改查
    React之this.refs, 实现数据双向绑定
    CCF CSP 201812-4 数据中心
    CCF CSP 201812-4 数据中心
    PAT 顶级 1020 Delete At Most Two Characters (35 分)
    PAT 顶级 1020 Delete At Most Two Characters (35 分)
    Codeforces 1245C Constanze's Machine
    Codeforces 1245C Constanze's Machine
    CCF CSP 201712-4 行车路线
  • 原文地址:https://www.cnblogs.com/cuihongyu3503319/p/1278573.html
Copyright © 2020-2023  润新知