Jeśli mam jeden typ MojaKlasa, zarejestrować sięCzy MEF eksportuje się do pamięci podręcznej lub odkrywa za każdym razem na żądanie?
[Export(typeof(Myclass))]
atrybutu, a
[PartCreationPolicy(CreationPolicy.Shared)]
lub
[PartCreationPolicy(CreationPolicy.NonShared)]
a później próby wywołania
compositionContainer.GetExportedValue<Myclass>()
wiele razy.
Pytanie: przy pierwszym połączeniu otrzymam zarejestrowaną klasę za pośrednictwem MEF - llokup wszystkich zarejestrowanych zespołów, a następnie spróbuję znaleźć jedną zarejestrowaną umowę. Pytanie brzmi po raz drugi i tak dalej - czy MEF ponownie zrobi globalne wyszukiwanie, czy też gdzieś w pamięci wewnętrznej?
Dzięki za wyjaśnienie! –
To jest niekompletne, w tym sensie, że niektóre wyszukiwania są nadal wykonywane przy każdym połączeniu. Czyniąc buforowanie po stronie klienta, jeśli jest wiele wywołań do 'GetExportedValue' powinno być zrobione. –