Well I still have the problem.
during the ctor of my ViewModel I want to create an entity and it fails the first time but will success all the others times.
It's like the first time something is missing (an assembly not loaded or found ?).
in the server I have :
Patients.Server.Domain : this is were the edmx is located. This assembly is perfectly added into the CompositionHost
In the client I have :
Patients.Server.Domain : hosting the Designer.cs file and my repository from the edmx above.
PreAdmission.Client.Implementation : hosting the Views/Viewmodels, this assembly have a reference to Patients.Server.Domain (copy local is set to true)
Here is the method loading the xap where my view/vewmodel is located.
void LoadXap(){
var catalog = new DeploymentCatalog(this._webUrl);
catalog.DownloadCompleted += (s, a) =>{
if (a.Error == null){
IdeaBlade.Core.Composition.CompositionHost.Add(catalog);
...
};
catalog.DownloadAsync();
}
The uri of the catalog is "\ClientBin\PreAdmission\PreAdmission.Client.Implementation.xap" which is the assembly
having a reference to Patients.Client.Domain
the exception raised by the first access to "var patient = new Patient();" :
{System.NullReferenceException: La référence d'objet n'est pas définie à une instance d'un objet.
à IdeaBlade.EntityModel.Entity..ctor()
à Patients.Server.Domain.Patient..ctor()
à Patients.Server.Domain.Patient.InternalCreatePatient()
à Patients.Server.Domain.Patient.CreatePatient()
à Patients.Client.Domain.PatientClientRepository.CreatePatient()
à PreAdmission.Client.Implementation.PreAdAccueilViewModel..ctor(IUnityContainer container, INavigationManager navigationManager)
à BuildUp_PreAdmission.Client.Implementation.PreAdAccueilViewModel(IBuilderContext )
à Microsoft.Practices.ObjectBuilder2.DynamicMethodBuildPlan.BuildUp(IBuilderContext context)
à Microsoft.Practices.ObjectBuilder2.BuildPlanStrategy.PreBuildUp(IBuilderContext context)
à Microsoft.Practices.ObjectBuilder2.StrategyChain.ExecuteBuildUp(IBuilderContext context)}
Below, the Logfile
2011-07-28 15:17:36 IdeaBlade.Core.TraceFileXmlLogger:GetLogHeader ------------ Log Created ------------
2011-07-28 15:17:35 IdeaBlade.Core.IdeaBladeConfig:Initialize Initializing configuration ...
2011-07-28 15:17:35 IdeaBlade.Core.Composition.PartsCatalog:LoadCatalog MEF assembly probing started: 28/07/2011 15:17:35. If this takes a long time, use IdeaBlade.Core.Composition.CompositionHost to specify/restrict which assemblies to probe.
2011-07-28 15:17:35 IdeaBlade.Core.Composition.PartsCatalog:LoadCatalog MEF assembly probing completed: 28/07/2011 15:17:35
2011-07-28 15:17:35 IdeaBlade.Core.Composition.CompositionHost:.ctor Probe Assemblies: Common.Domain, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null :: Patients.Server.Domain, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null :: Server.Domain, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null If this list is unnecessarily large, use CompositionHost.SearchPatterns to modify the search critieria for probed assemblies. If this list does not contain the assembly(ies) holding your a) domain model, b) custom interface implementations, and c) POCO/known types then your application may not work correctly. Ensure that these assemblies are available in the exe/bin folder, and if using CompositionHost.SearchPatterns that the patterns are set appropriately.
2011-07-28 15:17:35 IdeaBlade.Core.IdeaBladeConfig:InitializationStatusCallback IdeaBlade License: 'DataCenterServer, EnterpriseUniv', KeyDate: 07/01/2011, AllowedSessions: 10000. Found on Assembly: 'Patients.Server.Domain, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null'
2011-07-28 15:17:35 IdeaBlade.Core.Configuration.ServerSettingsElement:ConstrainSettingsBasedOnLicenseCore The configured SupportedClientApplicationType is Both
2011-07-28 15:17:35 IdeaBlade.Core.Configuration.ServerSettingsElement:ConstrainSettingsBasedOnLicenseCore Could not find a valid license to enable session-agnostic load balancing.
2011-07-28 15:17:36 IdeaBlade.Core.Configuration.ServerSettingsElement:ConstrainSettingsBasedOnLicenseCore Could not find a valid license to enable session-agnostic load balancing.
2011-07-28 15:17:36 IdeaBlade.Core.Composition.CompositionHost:CheckMultiExport CompositionContext: '-IbDefault-' - Probed for non-default 'ITraceLoggerProvider' and found no matching exports.
2011-07-28 15:17:36 IdeaBlade.Core.Composition.CompositionHost:CheckSingleExport CompositionContext: '-IbDefault-' - Probed for default 'ITraceLoggerProvider' and found 'IdeaBlade.Core.DefaultLoggerProvider'.
2011-07-28 15:17:36 IdeaBlade.Core.TraceFns:CompleteTracingInitialization IdeaBladeConfig resolution: File: C:\{Dev.SL}\DT\{Dev}\MyGap\Root\Web\Server.Web\web.config - found but failed to deserialize
2011-07-28 15:17:36 IdeaBlade.Core.TraceFns:CompleteTracingInitialization IdeaBladeConfig resolution: File: C:\{Dev.SL}\DT\{Dev}\MyGap\Root\Web\Server.Web\logging.config - found but failed to deserialize
2011-07-28 15:17:36 IdeaBlade.Core.TraceFns:CompleteTracingInitialization IdeaBladeConfig resolution: File: C:\{Dev.SL}\DT\{Dev}\MyGap\Root\Web\Server.Web\packages.config - found but failed to deserialize
2011-07-28 15:17:36 IdeaBlade.Core.TraceFns:CompleteTracingInitialization IdeaBladeConfig resolution: File: C:\{Dev.SL}\DT\{Dev}\MyGap\Root\Web\Server.Web\Web.config - found but failed to deserialize
2011-07-28 15:17:36 IdeaBlade.Core.TraceFns:CompleteTracingInitialization IdeaBladeConfig resolution: File: C:\{Dev.SL}\DT\{Dev}\MyGap\Root\Web\Server.Web\Web.Debug.config - found but failed to deserialize
2011-07-28 15:17:36 IdeaBlade.Core.TraceFns:CompleteTracingInitialization IdeaBladeConfig resolution: File: C:\{Dev.SL}\DT\{Dev}\MyGap\Root\Web\Server.Web\Web.Release.config - found but failed to deserialize
2011-07-28 15:17:36 IdeaBlade.Core.TraceFns:CompleteTracingInitialization IdeaBladeConfig resolution: Warning: No .config file found - using default configuration.
2011-07-28 15:17:36 IdeaBlade.Core.TraceFns:CompleteTracingInitialization IdeaBladeConfig resolution: Logging file: C:\{Dev.SL}\DT\{Dev}\MyGap\Root\Web\Server.Web\log/DebugLog.xml
2011-07-28 15:17:36 IdeaBlade.Core.TraceFns:CompleteTracingInitialization Bound to .NET runtime version 4.0.30319.235
2011-07-28 15:17:36 IdeaBlade.Core.TraceFns:CompleteTracingInitialization DevForce version 6.1.1.1
2011-07-28 15:17:57 IdeaBlade.EntityModel.RemoteServiceFns:AddSerializationBehavior Using DC serializer for EntityService
2011-07-28 15:17:57 IdeaBlade.Core.Composition.CompositionHost:CheckSingleExport CompositionContext: '-IbDefault-' - Probed for any 'ServiceHostEvents' and found 'IdeaBlade.EntityModel.Server.ServiceHostEvents'.
2011-07-28 15:17:57 IdeaBlade.EntityModel.Server.EntityServiceHostFactory:CreateServiceHost EntityService listening on http://localhost:27829/EntityService.svc
2011-07-28 15:17:57 IdeaBlade.EntityModel.Server.EntityServiceHostFactory:CreateServiceHost EntityService listening on http://localhost:27829/EntityService.svc/sl
2011-07-28 15:17:57 IdeaBlade.Core.Composition.CompositionHost:CheckSingleExport CompositionContext: '-IbDefault-' - Probed for any 'EntityServiceApplication' and found 'IdeaBlade.EntityModel.EntityServiceApplication'.
2011-07-28 15:17:57 IdeaBlade.EntityModel.EntityServiceApplication:OnServiceStartup EntityService created
2011-07-28 15:17:57 IdeaBlade.EntityModel.Server.EntityServer:.ctor EntityServer created for DataSourceExtension: [None], CompositionContext: -IbDefault-
2011-07-28 15:17:57 IdeaBlade.Core.Composition.CompositionHost:CheckMultiExport CompositionContext: '-IbDefault-' - Probed for any 'IEntityQueryExecutor' and found 'IdeaBlade.EntityModel.Edm.EdmQueryExecutor'.
2011-07-28 15:17:57 IdeaBlade.Core.Composition.CompositionHost:CheckMultiExport CompositionContext: '-IbDefault-' - Probed for any 'IEntityQueryExecutor' and found 'IdeaBlade.EntityModel.Edm.PassthruEsqlQueryExecutor'.
2011-07-28 15:17:57 IdeaBlade.Core.Composition.CompositionHost:CheckMultiExport CompositionContext: '-IbDefault-' - Probed for any 'IEntityQueryExecutor' and found 'IdeaBlade.EntityModel.Edm.StoredProcQueryExecutor'.
2011-07-28 15:17:57 IdeaBlade.Core.Composition.CompositionHost:CheckMultiExport CompositionContext: '-IbDefault-' - Probed for any 'IEntityQueryExecutor' and found 'IdeaBlade.EntityModel.Edm.UdtQueryExecutor'.
2011-07-28 15:17:57 IdeaBlade.EntityModel.Server.SessionManager:GetLoginManager Anonymous access: enabled
2011-07-28 15:17:57 IdeaBlade.Core.Composition.CompositionHost:CheckSingleExport CompositionContext: '-IbDefault-' - Probed for non-default 'IEntityLoginManager' and found no matching exports.
2011-07-28 15:17:57 IdeaBlade.EntityModel.Server.SessionManager:GetLoginManager No Login Manager found. User will always be logged in as Guest, regardless of credentials.
2011-07-28 15:17:57 IdeaBlade.EntityModel.KnownTypeHelper:<GetMarkedKnownTypes>b__13 Probed for known types and found Common.Domain.DtEntityBase
2011-07-28 15:17:57 IdeaBlade.EntityModel.KnownTypeHelper:<GetMarkedKnownTypes>b__13 Probed for known types and found Patients.Server.Domain.Patient
2011-07-28 15:17:57 IdeaBlade.EntityModel.KnownTypeHelper:<GetMarkedKnownTypes>b__13 Probed for known types and found Patients.Server.Domain.Tier
2011-07-28 15:17:57 IdeaBlade.EntityModel.KnownTypeHelper:<GetMarkedKnownTypes>b__13 Probed for known types and found Patients.Server.Domain.Nationalites
2011-07-28 15:17:57 IdeaBlade.EntityModel.KnownTypeHelper:<GetMarkedKnownTypes>b__13 Probed for known types and found Patients.Server.Domain.PatientObservations
2011-07-28 15:17:57 IdeaBlade.EntityModel.KnownTypeHelper:<GetMarkedKnownTypes>b__13 Probed for known types and found Patients.Server.Domain.Personne
2011-07-28 15:17:57 IdeaBlade.Core.Composition.CompositionHost:CheckMultiExport CompositionContext: '-IbDefault-' - Probed for non-default 'IKnownTypeProvider' and found no matching exports.
2011-07-28 15:17:57 IdeaBlade.EntityModel.RemoteServiceFns:AddSerializationBehavior Using DC serializer for EntityServer
2011-07-28 15:17:57 IdeaBlade.EntityModel.Server.EntityServerHostFactory:CreateServiceHost EntityServer listening on http://localhost:27829/EntityServer.svc
2011-07-28 15:17:57 IdeaBlade.EntityModel.Server.EntityServerHostFactory:CreateServiceHost EntityServer listening on http://localhost:27829/EntityServer.svc/sl
2011-07-28 15:17:58 Guest - 1 IdeaBlade.Core.Composition.CompositionHost:CheckSingleExport CompositionContext: '-IbDefault-' - Probed for any 'EntityServerQueryInterceptor' and found 'IdeaBlade.EntityModel.Server.EntityServerQueryInterceptor'.
2011-07-28 15:17:58 Guest - 1 IdeaBlade.EntityModel.Server.EntityServerQueryInterceptor:ExecuteQuery Fetch ... value(IdeaBlade.EntityModel.EntityQueryProxy`1[Patients.Server.Domain.Patient])
2011-07-28 15:17:58 Guest - 1 IdeaBlade.Core.Composition.CompositionHost:CheckSingleExport CompositionContext: '-IbDefault-' - Probed for default 'IDataSourceKeyResolver' and found 'IdeaBlade.EntityModel.DefaultDataSourceKeyResolver'.
2011-07-28 15:17:58 Guest - 1 IdeaBlade.Core.Composition.CompositionHost:CheckSingleExport CompositionContext: '-IbDefault-' - Probed for non-default 'IDataSourceKeyResolver' and found no matching exports.
2011-07-28 15:17:58 Guest - 1 IdeaBlade.Core.Composition.CompositionHost:CheckMultiExport CompositionContext: '-IbDefault-' - Probed for any 'IIdGenerator' and found 'IdeaBlade.EntityModel.StoreGeneratedIdGenerator'.
2011-07-28 15:17:58 Guest - 1 IdeaBlade.Core.Composition.CompositionHost:CheckMultiExport CompositionContext: '-IbDefault-' - Probed for non-default 'IConcurrencyStrategy' and found no matching exports.
2011-07-28 15:17:58 Guest - 1 IdeaBlade.Core.Composition.CompositionHost:CheckSingleExport CompositionContext: '-IbDefault-' - Probed for default 'IConcurrencyStrategy' and found 'IdeaBlade.EntityModel.DefaultConcurrencyValueSetter'.
2011-07-28 15:17:58 Guest - 1 IdeaBlade.EntityModel.Edm.EdmKey:FindClientAssembly DataSourceKey probing started at 28/07/2011 15:17:58
2011-07-28 15:17:58 Guest - 1 IdeaBlade.EntityModel.Edm.EdmKey:FindClientAssembly DataSourceKey: 'PatientEntities' found in assembly 'Patients.Server.Domain, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null' at 28/07/2011 15:17:58
2011-07-28 15:21:08 IdeaBlade.EntityModel.Server.RemoteEntityService:ShutdownEntityServers Shutting down Entity Servers