Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 将ExpandoObject发送到另一个AppDomain_C#_.net_Appdomain_Expandoobject_Dynamicobject - Fatal编程技术网

C# 将ExpandoObject发送到另一个AppDomain

C# 将ExpandoObject发送到另一个AppDomain,c#,.net,appdomain,expandoobject,dynamicobject,C#,.net,Appdomain,Expandoobject,Dynamicobject,我试图将一个动态对象(类型ExpandoObject)从主AppDomain发送到另一个,显然,ExpandoObject没有标记为可序列化的异常 此外,此ExpandoObject具有内部字典成员(dictionary),以满足我的需要 我已经尝试使用Json.Net(JObject)将ExpandoObject转换为Json,但是内部字典没有反序列化为数组,因此在尝试访问其属性时出现异常 有人知道如何序列化动态对象并将其发送到另一个AppDomain吗 主AppDomain代码: dynam

我试图将一个动态对象(类型
ExpandoObject
)从主AppDomain发送到另一个,显然,
ExpandoObject没有标记为可序列化的
异常

此外,此
ExpandoObject
具有内部字典成员(
dictionary
),以满足我的需要

我已经尝试使用Json.Net(
JObject
)将
ExpandoObject
转换为Json,但是内部字典没有反序列化为数组,因此在尝试访问其属性时出现异常

有人知道如何序列化动态对象并将其发送到另一个AppDomain吗

主AppDomain代码:

dynamic dynamicObj = expBuilder.GenerateDynamicObj();
ExpressionInMemory exp = (ExpressionInMemory)ExpressionDomain.CreateInstanceAndUnwrap(Assembly.GetExecutingAssembly().FullName, typeof(ExpressionInMemory).FullName);

exp.SetDynamicObj(dynamicObj);
...
public void SetDynamicObj(dynamic obj)
{
  this._dynamicObj = obj;
}
...
备选AppDomain代码:

dynamic dynamicObj = expBuilder.GenerateDynamicObj();
ExpressionInMemory exp = (ExpressionInMemory)ExpressionDomain.CreateInstanceAndUnwrap(Assembly.GetExecutingAssembly().FullName, typeof(ExpressionInMemory).FullName);

exp.SetDynamicObj(dynamicObj);
...
public void SetDynamicObj(dynamic obj)
{
  this._dynamicObj = obj;
}
...

简言之,为了能够将具有Expando对象相同行为的动态对象传递给另一个AppDomain,我必须创建一个继承动态对象并实现所有ISerializable和IDictionary函数的新类


非常好。

很有趣,你能和大家一起上课吗?