我想创建一个 ASP.NET MVC Web 应用程序,它具有不需要重新构建的可扩展逻辑。我正在考虑创建一个包含 IronPython 引擎实例的过滤器。我想知道的是:在每个网络请求期间创建新引擎有多少开销,以及保留静态引擎是否是一个更好的主意?但是,如果我要保留单个静态引擎,那么就锁定和脚本范围而言我可能会遇到哪些问题?是否可以在同一个 IropPython 引擎中拥有多个作用域,这样我就不会在 Web 请求之间出现变量冲突和安全问题?
最佳答案
我刚刚开始在 ASP.NET MVC 应用程序中使用 IronPython 作为扩展点。我有一个 ipy 引擎(在静态属性中),对于每个请求,我创建新的作用域并在该作用域中执行脚本。
每个作用域应该独立于其他作用域,不需要锁定。
如果我遇到问题,我会在这里发布。不过,我并不期待任何;)
关于asp.net - 在 ASP.NET Web 请求期间评估 IronPython 脚本;是否静态引擎,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2819134/