javascript - 如何在 Clearscript 中序列化已编译的 V8Script?

标签 javascript c# serialization v8 clearscript

我正在使用 ClearScript 编译一些 JavaScript,然后我想将其序列化以将其存储在 SQL 中。但是它被标记为不可序列化,我该怎么办?

V8ScriptEngine engine = new V8ScriptEngine();
V8Script compiled = engine.Compile("var a = 'test'");
using (MemoryStream ms = new MemoryStream())
{
    new BinaryFormatter().Serialize(ms, compiled);
    string compiledString = Convert.ToBase64String(ms.ToArray());
}

我收到这个错误:

Additional information: Type 'Microsoft.ClearScript.V8.V8ScriptImpl' in Assembly 'ClearScriptV8-32, Version=5.4.6.0, Culture=neutral, PublicKeyToken=935d0c957da47c73' is not marked as serializable.

最佳答案

V8 编译的脚本绑定(bind)到创建它的隔离实例,因此序列化它没有意义。您不能在不同的进程中重用它,甚至不能在同一进程中使用另一个隔离。还有更多信息herehere .

关于javascript - 如何在 Clearscript 中序列化已编译的 V8Script?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39605300/

相关文章:

r - 什么时候在 R 中使用函数 'structure()'?

javascript - 使用正则表达式过滤掉第二组数字

c# - Blazor 将数据从父级传递给子级

c# - 在 VB.NET 2005 或 C#.NET 2005 中使用多个数据读取器,并以 MySQL 5.0 作为后端

Java XML 序列化,文件中缺少字段

c# - 如何将 TimeSpan 序列化为 XML

javascript - 将 img 置于 li 内居中

javascript - 获取对象的公共(public)方法/函数

javascript - XSL OnChange Javascript 函数未定义

c# - 如何使用 Linq to objects 按固定数量对我的选择进行分组?