我试图将一个动态对象(类型ExpandoObject
)从主 AppDomain 发送到另一个,显然面临ExpandoObject is not marked as serializable
异常。
此外,这ExpandoObject
有我需要的内部字典成员(Dictionary <object, dynamic>
)。
我已经尝试ExpandoObject
使用 Json.Net ( JObject
) 将其转换为 Json,但内部字典没有反序列化为数组,在尝试访问其属性时给了我一个异常。
有谁知道如何序列化动态对象并将其发送到另一个 AppDomain?
主 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;
}
...