我有一个 RESTful C# 网络服务(使用 Open Rasta),我想运行与 CouchDB 对话的 IronPython 脚本。
我可以澄清的一件事是:我多久需要一个 python 引擎和范围的新实例?每个应用程序一个?每个 session ?每个请求?
我目前有一个应用程序级别的静态引擎以及一个已编译脚本的字典;然后,根据请求,我创建一个新范围并在该范围内执行代码...
这样对吗?线程安全?并尽可能高效?
编辑:关于赏金请同时回答我在回复 Jeff 时提出的问题:引擎的静态实例是否会导致来自不同客户端的顺序请求排队等待执行?如果是这样,我可能会根据每个请求需要所有内容。
请您参考如下方法:
每个应用程序一个 ScriptRuntime/ScriptEngine 和每个请求一个 Scope 正是应该如何完成的。运行时/引擎是线程安全的,而作用域不是。
