首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何处理并发web用户重置CS-Script

如何处理并发web用户重置CS-Script
EN

Stack Overflow用户
提问于 2015-01-23 23:42:25
回答 1查看 97关注 0票数 0

当使用CSScript.Evaluator.Reset()时,这是否会重置当前正在使用相同脚本或构建的其他任何人?

另一种问我问题的方式。script = CSScript.Evaluator.LoadCode(scriptString);如果另一个用户通过并调用相同的代码,但出现错误。原始的编译仍然是好的和安全的吗?

此外,CSScript.Evaluator.AutoResetEvaluatorOnError = true,这似乎不起作用。在我在代码中导致错误之后,然后修复它。直到我重置我的应用程序,或者使用Reset(),编译才能工作。

使用Reset是可行的,但这就是我最初提出问题的原因。

我正在使用CSScript.Evaluator.LoadCode并查看CSScript.Evaluator.LoadMethod,但得到了相同的问题。

这些不是很大的脚本,但可以以大批量或大循环的形式运行。不反对独一无二的命名,因为无论如何我都会为每次运行创建版本。但我也不确定缓存能不能用。

启用CSScript.CacheEnabled时,缓存文件夹的位置在哪里?

EN

回答 1

Stack Overflow用户

发布于 2015-01-24 08:36:22

原始编译仍然是好的和安全的吗?

是的,当你持有已编译对象的引用时,它就是你的了。即使你破坏了编译器,我也是好的。

也是CSScript.Evaluator.AutoResetEvaluatorOnError = true,这似乎不起作用。

此设置将触发非常冷的SoftReset,这与仅通过重新引用程序集并重新创建CompilerSettings对象来重置有所不同。初始实现SoftReset的时间足以完全清除Mono.Evaluator。我将需要检查,因为它可能不再是这种情况。我会让你知道结果的。

启用CSScript.CacheEnabled时,

缓存文件夹的位置在哪里?

缓存不包括Mono赋值器,因为所有程序集都在内存中,无法缓存。通过CSScript.Evaluator.*访问的所有内容都适用于Mono编译器以及通过CSScript.*访问的所有内容。*是一个CodeDOM编译器,它确实实现了缓存机制。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28113432

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档