当前位置:编程学习 > C#/ASP.NET >>

.Net 解析 javascript 脚本的方案讨论。


我想的是,,C# 解析 javascript 脚本,,在  js脚本里面能调用  C# 方法。

1,第一个方法。
网上找了好多方法,,都不好用。。msscript.ocx  这个用的人挺多的,,我是试了能调用C#方法。。
但是用 msscript  这个,,脚本运行后,就不能控制了,,我放在单独线程里面,,停止线程也无法中止,Timeout来结束脚本也不行。。。Timeout运行到C#里面就无效了,。而且在网上查了,,貌似同时运行多个脚本,可能会线程不安全。
                        gg = new ggg("MSScriptControl", new MSScriptControl.ScriptControlClass());
                        gg.msc.Language = "javascript";
                        gg.msc.UseSafeSubset = true;
                        gg.msc.AllowUI = false;
                        gg.msc.Timeout = Timeout;
                        gg.msc.AddObject("ms", gg, true);



2,第二个方法。
想尝试用 Microsoft.JScript 来解析脚本,但是不知道如果调用C#方法。



3,目前我使用 Jurassic来解析,各方面功能都完善,还是希望用原生的来解决,,第三方的,涉及到版本兼容性问题。是3.5的,我 .NET2.0 不能用,单独引用 System.Core.dll也不行。。



--------------------编程问答-------------------- 2,第二个方法。
想尝试用 Microsoft.JScript 来解析脚本,但是不知道如何调用C#方法。


主要是交互,,如果没交互性也没什么用了,,要 JS里面能调用 C#的类方法。 --------------------编程问答-------------------- 我还试过了,用 CodeRom 来解析  CS脚本,,但是 C# 是强类型的,,到处都是强制转换脚本一点也不友好。。(int)  (bool)


脚本还是用  JS比较好点。。


                        sb.AppendLine("using System;");
                        sb.AppendLine("using System.Threading;");
                        sb.AppendLine("using System.Collections.Generic;");
                        sb.AppendLine("namespace sx");
                        sb.AppendLine("{");
                        sb.AppendLine("    public   class   api_runtime");
                        sb.AppendLine("    {");
                        sb.AppendLine("         public   void   api_runsc(Dictionary<string, Delegate> dict)");
                        sb.AppendLine("         {");
                        sb.AppendLine("                    " + cc);
                        sb.AppendLine("         }");
                        sb.AppendLine("    }");
                        sb.AppendLine("}");
补充:.NET技术 ,  C#
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,