从 appdomain 中解包不可序列化的类
Posted
技术标签:
【中文标题】从 appdomain 中解包不可序列化的类【英文标题】:Unwrapping a non-serializable class from an appdomain 【发布时间】:2011-08-31 14:20:07 【问题描述】:因为并非我要实例化的类中使用的所有类都是可序列化的,所以我无法解包。
这可能吗?
var appdom = AppDomain.CreateDomain(amServiceable.GetType().ToString());
var objectHandle = appdom.CreateInstance(amServiceable.GetType().Assembly.FullName,
amServiceable.GetType().FullName);
var plugin = objectHandle.Unwrap() as IPlugin //throws an error. that some class in not marked serializable.
【问题讨论】:
【参考方案1】:为了在对象上使用Unwrap
方法,它必须从MarshalByRefObject
派生。如果您要操作的对象没有,那么唯一的其他选择是使用不同的MarshalByRefObject
来操作其他域中的对象
【讨论】:
以上是关于从 appdomain 中解包不可序列化的类的主要内容,如果未能解决你的问题,请参考以下文章
无法在 JBoss EAP 6 中解包 TmesTen 数据源 JDBC 对象
ValueError:没有足够的值来解包(预期为 2,得到 1)当试图在 python 中解包 dict 以使用 pandas 进行数据标记时