【发布时间】:2015-01-07 20:35:53
【问题描述】:
我正在尝试将一个动态对象(类型 ExpandoObject)从主 AppDomain 发送到另一个,显然遇到了 ExpandoObject is not marked as serializable 异常。
此外,这个 ExpandoObject 有内部字典成员 (Dictionary <object, dynamic>) 可以满足我的需要。
我已经尝试使用 Json.Net (JObject) 将 ExpandoObject 转换为 Json,但内部字典未反序列化为数组,在尝试访问其属性时出现异常。
有谁知道如何序列化动态对象并将其发送到另一个 AppDomain?
主应用域代码:
dynamic dynamicObj = expBuilder.GenerateDynamicObj();
ExpressionInMemory exp = (ExpressionInMemory)ExpressionDomain.CreateInstanceAndUnwrap(Assembly.GetExecutingAssembly().FullName, typeof(ExpressionInMemory).FullName);
exp.SetDynamicObj(dynamicObj);
替代AppDomain代码:
...
public void SetDynamicObj(dynamic obj)
{
this._dynamicObj = obj;
}
...
【问题讨论】:
标签: c# .net appdomain expandoobject dynamicobject