小编kol*_*san的帖子

将IronPython 2嵌入C#Web应用程序的问题

第一个背景(包括它有帮助):

我的应用程序是最近升级到.Net Framework v3.5的基于Web的框架,但不使用母版页/用户控制系统.它更类似于MVC模式(虽然更旧),并从模板的响应流中输出纯HTML.Python表达式允许实现一些规则和模板变体.

旧的方式

在C#中嵌入IronPython 1.x引擎时,我们能够执行以下代码:

PythonEngine pe = new PythonEngine();
Assembly a = Assembly.LoadFile("path to assembly");
pe.LoadAssembly(a);
pe.Import("Script");
Run Code Online (Sandbox Code Playgroud)

ipy 2.0中没有Import()方法,并且ImportModule()方法似乎没有相同的工作方式.Import()减轻了在我们编写的每个python脚本中放置一行的需要,例如:

from MyAssembly import MyClass
Run Code Online (Sandbox Code Playgroud)

MyClass充满了静态方法,这意味着对MyClass.MyMethod()的调用非常有效.我不能只是实例化一个对象并将其分配给范围内的变量,因为包含MyClass的程序集是在运行时动态加载的.

现在问题

我已经整理了IronPython 2.0集成的所有其他部分,但是我不希望我的实现者在他们编写的每个脚本的顶部输入"来自MyAssembly import MyClass"(在ipy 1中没有必要时,这似乎很愚蠢) .x)也可能暂时成为一个支持问题.

最后问题

有人有这个问题并解决了吗?我是否以错误的方式为DLR做事?还是我错过了一些明显的东西?

我不确定有人提供帮助的细节,但我希望这已经足够了.

c# ironpython embedding

4
推荐指数
1
解决办法
1110
查看次数

标签 统计

c# ×1

embedding ×1

ironpython ×1