Я пытаюсь отправить один динамический объект (тип ExpandoObject
) из основного AppDomain в другой и, очевидно, столкнулся с исключением ExpandoObject is not marked as serializable
.Отправить ExpandoObject в другой AppDomain
Кроме того, этот ExpandoObject
имеет внутренний член словаря (Dictionary <object, dynamic>
) для моих нужд.
Я уже пробовал преобразовывать ExpandoObject
в Json, используя Json.Net (JObject
), но внутренние словари не десериализуются как массивы, что дает мне исключение при попытке получить доступ к его свойствам.
Кто-нибудь знает, как сериализовать динамический объект и отправить его другому AppDomain?
Главная AppDomain Код:
dynamic dynamicObj = expBuilder.GenerateDynamicObj();
ExpressionInMemory exp = (ExpressionInMemory)ExpressionDomain.CreateInstanceAndUnwrap(Assembly.GetExecutingAssembly().FullName, typeof(ExpressionInMemory).FullName);
exp.SetDynamicObj(dynamicObj);
Alternative AppDomain Код:
...
public void SetDynamicObj(dynamic obj)
{
this._dynamicObj = obj;
}
...
интересно, можете ли вы поделиться классом? –