考虑以下场景:
应用域 1:
public delegate bool Delegate1(class1 c1,string p);
class class1
{
public bool method1(Delegate1 d, out IEnumerable<string> partNumbers)
{
//Method body
}
}
AppDoamin2:
class x
{
public bool method2(Dictionary<string,string> x,out string[] returnValues)
{
class1Instance.method1(delegate(class1 cc,string pp){if(x.Key=="blaah") return False;},out temp);
}
}
IronPython 脚本:调用方法 2。
这种方法给出了序列化异常,因为 appDomain2 中的委托正在使用堆栈中的变量。
可能的解决方案:将 Ironpython 脚本中的委托方法传递给 appDomain2 中的方法,该方法在 Appdomain3 中传递。
问题:如何做到这一点?到目前为止,无法在此搜索任何内容。
注意:使用 .NET Framework 2 和 ironpython 2.7.1。
PS对不起格式不好!