123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128 |
- using System;
- using System.Collections.Generic;
- using System.Diagnostics;
- using System.Threading;
- using System.Windows;
- using Aitex.Core.RT.Log;
- using Aitex.Core.Util;
- using Aitex.Core.WCF;
- using Caliburn.Micro;
- using Caliburn.Micro.Core;
- using EfemDualUI.Config;
- using MECF.Framework.UI.Client.ClientBase;
- using SciChart.Charting.Visuals;
- namespace EfemDualUI
- {
- public class Bootstrapper : BootstrapperBase
- {
- //static Mutex mutex;
- //bool isNewMutex;
- protected override void OnStartup(object sender, StartupEventArgs e)
- {
- try
- {
- System.Collections.ArrayList procList = new System.Collections.ArrayList();
- foreach (System.Diagnostics.Process thisProc in System.Diagnostics.Process.GetProcesses())
- {
- procList.Add(thisProc.ProcessName);
- }
- if (!procList.Contains("EfemDualRT"))
- {
- var exeFilePath = System.Diagnostics.Process.GetCurrentProcess().MainModule.FileName;
- if (!Debugger.IsAttached)
- {
- exeFilePath = exeFilePath.Replace("EfemDualUI", "EfemDualRT");
- System.Diagnostics.Process.Start(exeFilePath);
- Thread.Sleep(50);
- }
- }
- if (!EventClient.Instance.ConnectRT())
- {
- MessageBox.Show("Can not connect with RT, launch RT first", "Error", MessageBoxButton.OK, MessageBoxImage.Error);
- Environment.Exit(0);
- return;
- }
- }
- catch (Exception)
- {
- MessageBox.Show("Can not connect with RT, launch RT first", "Error", MessageBoxButton.OK, MessageBoxImage.Error);
- Environment.Exit(0);
- return;
- }
- SystemConfigManager.Instance.Initialize();
- Singleton<Aitex.Core.RT.Log.LogManager>.Instance.Initialize();
- BaseApp.Instance = new ClientApp();
- DisplayRootViewFor<MainViewModel>();
- base.OnStartup(sender, e);
-
- }
- protected override void OnExit(object sender, EventArgs e)
- {
- base.OnExit(sender, e);
-
- Singleton<Aitex.Core.RT.Log.LogManager>.Instance.Terminate();
-
- Application.Current.Shutdown();
-
- }
- protected override void OnUnhandledException(object sender, System.Windows.Threading.DispatcherUnhandledExceptionEventArgs e)
- {
- if (e.Exception != null)
- {
- LOG.Write(e.Exception);
- if (e.Exception.InnerException != null)
- LOG.Write(e.Exception.InnerException);
- }
- e.Handled = true;
- }
- private SimpleContainer container;
- public Bootstrapper()
- {
- SciChartSurface.SetRuntimeLicenseKey("vwAIyu6FysOMMV/v7pag3WEENpK0hDMQx5zbMKYtlb3PMTsV9R+v2toHl/Z2YJ7t/MDVkKCBsZjBxOUs1djpkyLqgCFMlX5DMrKFdP82QRqZRCOht0hQjW5Omy5z9ZRbalxSx4mlgnL/YXWr2JQrD1dWoTeoDP7xm8JB3+KZ4M5pqxeUCib6VvRpfq3O7HVIyFfcDk0JVByjV+vtgGpOo5RP630lKr9VLS3CPk1aUeul4XQAnJX+IafLnsgSKiDWlZMYU9qJehqA1EdwOnEvvOwhcwckJ5/BoeQ0qDvDaYZ1Jfzkcv5sqOYKd749TJ8wsoTDubT/bLv+BwBiXura1mBZlOIE9zB5XwJVedWWzi6dGDG8LRRKh1XjuyD6V92G596xYsb5b8EJJ8AkgsC/R+fLeN/FIZBlq/Vepg+1dwkLlCCtp8nZWBjsRDQWNrG6Vyk5TF2RzI62WrwKfWfNWXtC5wjkJE5IJzUFlj/B/UhCzB8=");
- Initialize();
- }
- protected override void Configure()
- {
- container = new SimpleContainer();
- container.Singleton<IEventAggregator, EventAggregator>();
- container.Singleton<IWindowManager, WindowManager>();
- //container.Singleton<IPublisher, Publisher>();
- container.PerRequest<MainViewModel>();
- }
- protected override object GetInstance(Type service, string key)
- {
- return container.GetInstance(service, key);
- }
- protected override IEnumerable<object> GetAllInstances(Type service)
- {
- return container.GetAllInstances(service);
- }
- protected override void BuildUp(object instance)
- {
- container.BuildUp(instance);
- }
- }
- }
|