C# 由于SerializationException,无法在C中的AppDomain之间传递委派对象
我正在尝试创建一个代理并将其从一个AppDomain传递到另一个AppDomain 但它只在传递委托时抛出错误。如果像字符串这样的对象被传递,它就可以正常工作 此外,如果委托通过构造函数从设置中移除,并使用方法进行设置,则我仍然无法将其传递给对象C# 由于SerializationException,无法在C中的AppDomain之间传递委派对象,c#,serialization,delegates,appdomain,remoting,C#,Serialization,Delegates,Appdomain,Remoting,我正在尝试创建一个代理并将其从一个AppDomain传递到另一个AppDomain 但它只在传递委托时抛出错误。如果像字符串这样的对象被传递,它就可以正常工作 此外,如果委托通过构造函数从设置中移除,并使用方法进行设置,则我仍然无法将其传递给对象 namespace TESTNS1 { class Program { static void Main(string[] args) { try { Program ob
namespace TESTNS1 {
class Program {
static void Main(string[] args) {
try {
Program obj = new Program();
NS22.testappdom.MYDelT tt = new NS22.testappdom.MYDelT(obj.testingg);
NS22.testappdom obb = new NS22.testappdom(tt);
obb.invokeT();
AppDomain app1 = AppDomain.CreateDomain("newdom");
NS22.testappdom ob2 = (NS22.testappdom)app1.CreateInstanceFromAndUnwrap(Assembly.GetExecutingAssembly().Location, typeof(NS22.testappdom).FullName,
false, BindingFlags.Default, null, new object[] { tt }, null, null, null);
ob2.invokeT();
} catch (Exception ex) {
Console.WriteLine(ex.ToString());
}
Console.ReadLine();
}
public bool testingg (Object obj) {
Console.WriteLine("testingg called..");
return false;
}
}
}
namespace NS22 {
class testappdom : MarshalByRefObject {
public delegate bool MYDelT(Object obj);
public MYDelT delee;
public testappdom() {
Console.WriteLine("Init.");
}
public testappdom(MYDelT dd) {
Console.WriteLine("Init1.");
this.delee = dd;
}
public void invokeT() {
this.delee(new Object());
}
}
}
检查@Amit谢谢你的链接。但似乎不可能将委托发送到另一个appdomain。我将尝试找出一种解决方法,而不使用委托来实现相同的功能。谢谢检查这个@Amit,谢谢你的链接。我只想知道是否可以直接传递委托。由于没有得到证实,我一直在研究如何使用处理程序类来完成我需要完成的操作。谢谢