Пример #1
0
 private void StopDataServiceScheduler()
 {
     var currentRequest = App.DataCacheServiceInstance.Scheduler.GetCurrentRequestAndStopScheduler();
     if (currentRequest != null)
     {
         if (!currentRequest.AsyncResult.ManualResetEvent.WaitOne(8500))
         {
             DataCacheServiceInstance = null;
         }
     }
 }
Пример #2
0
        /// <summary>
        /// Constructor for the Application object.
        /// </summary>
        public App()
        {
            // Global handler for uncaught exceptions.
            UnhandledException += Application_UnhandledException;

            // Standard Silverlight initialization
            InitializeComponent();

            // Phone-specific initialization
            InitializePhoneApplication();

            // Show graphics profiling information while debugging.
            if (System.Diagnostics.Debugger.IsAttached)
            {
                // Display the current frame rate counters.
                //Application.Current.Host.Settings.EnableFrameRateCounter = true;

                // Show the areas of the app that are being redrawn in each frame.
                //Application.Current.Host.Settings.EnableRedrawRegions = true;

                // Enable non-production analysis visualization mode,
                // which shows areas of a page that are handed off to GPU with a colored overlay.
                //Application.Current.Host.Settings.EnableCacheVisualization = true;

                // Disable the application idle detection by setting the UserIdleDetectionMode property of the
                // application's PhoneApplicationService object to Disabled.
                // Caution:- Use this under debug mode only. Application that disables user idle detection will continue to run
                // and consume battery power when the user is not using the phone.
                PhoneApplicationService.Current.UserIdleDetectionMode = IdleDetectionMode.Disabled;
            }

            this.RegisterServices();
            this.CheckAndCreateDatabase();
            IsolatedStorageFileHelper.CreateDirectoryIfNotExists("medias");
            IsolatedStorageFileHelper.CopyIconToIsolatedStorage("/Shared/Media/application.png");
            if (DataCacheServiceInstance == null)
            {
                DataCacheServiceInstance = new DataCacheService();
                if (!ServiceLocator.Current.GetInstance<IApplicationSettingsService>().GetIsOldMediaImported())
                {
                    if (IsolatedStorageFileHelper.AnyDirectoryExists("mediaVideo", "mediaMusic"))
                    {
                        ServiceLocator.Current.GetInstance<IApplicationSettingsService>().ResetHosts();
                        App.DataCacheServiceInstance.ImportOldMedias(TaskParam.AsyncAction("ImportOldMedias", (state) =>
                        {
                            Deployment.Current.Dispatcher.BeginInvoke(() =>
                            {
                                ServiceLocator.Current.GetInstance<IApplicationSettingsService>().SetIsOldMediaImported(true);
                            });
                        }));
                    }
                    else
                    {
                        ServiceLocator.Current.GetInstance<IApplicationSettingsService>().SetIsOldMediaImported(true);
                    }
                }
            }
            else
            {
                DataCacheServiceInstance.Scheduler.Start();
            }
        }
Пример #3
0
 // Code to execute when the application is activated (brought to foreground)
 // This code will not execute when the application is first launched
 private void Application_Activated(object sender, ActivatedEventArgs e)
 {
     if (DataCacheServiceInstance == null)
     {
         DataCacheServiceInstance = new DataCacheService();
     }
     else
     {
         DataCacheServiceInstance.Scheduler.Start();
     }
 }