4
我想在我的Silverlight客户端中实现注销操作。MEF。如何清理默认容器?
在登录操作期间,MEF使用包含用户特定信息(如密码)的[导出]单例类的实例初始化DefaultContainer。
有没有办法,重新初始化/重置/下降MEF基础设施/ DefaultContainer像它从未初始化?
我想导航到用户成功执行退出操作后,再次登录页面...
我想在我的Silverlight客户端中实现注销操作。MEF。如何清理默认容器?
在登录操作期间,MEF使用包含用户特定信息(如密码)的[导出]单例类的实例初始化DefaultContainer。
有没有办法,重新初始化/重置/下降MEF基础设施/ DefaultContainer像它从未初始化?
我想导航到用户成功执行退出操作后,再次登录页面...
这是不可能重新初始化CompositionHost容器。一旦它被初始化或默认创建,它就不能被改变。
然而,您可以创建一个AggregateCatalog,并使用TypeCatalog和singleton作为唯一类型,并在不再需要时将其从聚合中移除。
这并不改变这样一个事实:一旦MEF创建'part',它就可以满足任何需要它的[Import]。
从MSDN:
默认容器创建的用于填充导入的部分将由托管扩展性框架(MEF)保留,直到应用程序关闭。长时间运行的应用程序应该使用ExportFactory管理其部件的生命周期。