C# MEF。如何清理默认容器?

C# MEF。如何清理默认容器?,c#,silverlight-4.0,mef,C#,Silverlight 4.0,Mef,我正在尝试在Silverlight客户端中实现注销操作 在登录操作期间,MEF使用[Export]-ed singleton类的实例初始化DefaultContainer,该类包含用户特定的信息(如密码) 有没有办法像从未初始化过一样重新初始化/重置/删除MEF infrastructure/DefaultContainer 我想在用户成功执行注销操作后再次导航到登录页面…无法重新初始化CompositionHost容器。默认情况下,一旦初始化或创建了它,就无法更改 但是,您可以创建一个Aggr

我正在尝试在Silverlight客户端中实现注销操作

在登录操作期间,MEF使用[Export]-ed singleton类的实例初始化DefaultContainer,该类包含用户特定的信息(如密码)

有没有办法像从未初始化过一样重新初始化/重置/删除MEF infrastructure/DefaultContainer


我想在用户成功执行注销操作后再次导航到登录页面…

无法重新初始化CompositionHost容器。默认情况下,一旦初始化或创建了它,就无法更改

但是,您可以创建一个AggregateCatalog并使用一个TypeCatalog,其中singleton是唯一的类型,并在不再需要时将其从聚合中删除

这并没有改变一个事实,即一旦MEF创建了一个“零件”,它就可以满足任何其他需要它的[Import]

发件人: 由默认容器创建以填充导入的部件将由托管可扩展性框架(MEF)保留,直到应用程序关闭。长时间运行的应用程序应使用ExportFactory来管理其部件的生命周期