|
Hello,
I have a SL application that uses prism and the EntLib SL integration pack. Similar to the Stock Trader V2 reference implementation on application startup it asynchronously loads the EntLib xaml config from the server and then on successful configuration
it creates and runs the prism bootstrapper that sets the root visual.
Now I have configured the SL application to run out of browser. When out of browser the SL application is not happy at all that no root visual is set on application startup. The asynchronous loading of the EntLib xaml config never completes (if the
request was successfully sent at all) and therefore the prism bootstrapper is never created and run and hence no root visual is set. Anybody know why this may be?
For now I have included the Configuration.xaml in the xap file for out of browser use, while in browser I still retrieve the xaml from the server:
private void Application_Startup(object sender, StartupEventArgs e)
{
if (IsRunningOutOfBrowser && HasElevatedPermissions)
{
// Create and run the bootstrapper. Prism uses a bootstrapper to load and configure all modules
// and start the application.
var bootstrapper = EnterpriseLibraryContainer.Current.GetInstance<Bootstrapper>();
bootstrapper.Run();
}
else
{
// When the application starts, we have to download the XAML configuration first. After that, we can continue to start the application.
EnterpriseLibraryContainer.EnterpriseLibraryConfigurationCompleted += this.OnEnterpriseLibraryConfigurationCompleted;
EnterpriseLibraryContainer.ConfigureAsync(new Uri("../Configuration.xaml?version=" + DateTime.Now.Ticks, UriKind.Relative));
}
}
Now my application will start up ok. Any subsequent service calls to the server work ok, so I have no idea why the EntLib xaml config would not load. Perhaps its all to do with having to set a root visual immediately on application startup when out
of browser, while in browser you can defer this till the EntLib xaml config has loaded.
Remco
|