I upgraded to 6.0.8.0 and wanted to try the Application Library Caching functionality but ran into problems.
There seems to be some problems with the MEF probing - looking at the Debug Log on the client, when I have Application Library Caching (ALC) enabled, some of the probing fails. Specifically, here are some event from the working version of my app:
CompositionContext: '-IbDefault-' - Probed for default 'IDataSourceKeyResolver' and found 'IdeaBlade.EntityModel.DefaultDataSourceKeyResolver'. Trying programmatic configuration of EntityService CompositionContext: '-IbDefault-' - Probed for any 'ServiceProxyEvents' and found 'IdeaBlade.EntityModel.ServiceProxyEvents'. Created proxy to EntityService using Uri http://smcdaniel/Dev/60/Primary/EntityService.svc/sl |
But with ALC enabled, I end up with this:
CompositionContext: '-IbDefault-' - Probed for default 'IDataSourceKeyResolver' and found no matching exports. Trying programmatic configuration of EntityService CompositionContext: '-IbDefault-' - Probed for any 'ServiceProxyEvents' and found no matching exports. Object reference not set to an instance of an object. |
Notice that the two probings fail. And when it can't find a ServiceProxyEvent class to use, that immediately results in a NullReferenceException that effectively halts my application.
I've narrowed it down to just IdeaBlade.EntityModel.SL.dll. With other IdeaBlade DLLs, I can get it to work but not this one. But I guess that makes sense sense the classes it's probing for are in that DLL.
Am I doing something wrong or do I need to somehow tell MEF to probe outside of the XAP and include the externally loaded IdeaBlade DLLs?
Thanks,
-Stephen