public Boot(LicenseManager licenseValidation, IAddinManager addinManager, IAddinLoader addinLoader, IEventDispatcher dispatcher, IFormEventHandler formEventHandler, I18NService i18nService, AddinAppEventHandler addinAppEventHandler) { this.licenseManager = licenseValidation; this.addinManager = addinManager; this.dispatcher = dispatcher; this.formEventHandler = formEventHandler; this.addinLoader = addinLoader; this.addinAppEventHandler = addinAppEventHandler; i18nService.ConfigureThreadI18n(System.Threading.Thread.CurrentThread); }
internal void Run() { try { runningAddins.Add(this); runningAddinsHash.Add(asm.Code, this); var setup = new AppDomainSetup(); setup.ApplicationName = "Dover.Inception"; setup.ApplicationBase = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "..", "addIn", asm.Namespace, asm.Name); var domain = AppDomain.CreateDomain("Dover.AddIn", null, setup); domain.SetData("shutdownEvent", shutdownEvent); // Thread synchronization domain.SetData("bootEvent", bootEvent); domain.SetData("assemblyName", asm.Name); // Used to get current AssemblyName for logging and reflection domain.SetData("frameworkManager", frameworkAddinManager); IApplication app = (IApplication)domain.CreateInstanceAndUnwrap("Framework", "Dover.Framework.Application"); SAPServiceFactory.PrepareForInception(domain); addinFormEventHandler = app.Resolve <IFormEventHandler>(); addinLoader = app.Resolve <IAddinLoader>(); eventDispatcher = app.Resolve <IEventDispatcher>(); Sponsor <IApplication> appSponsor = new Sponsor <IApplication>(app); Sponsor <IFormEventHandler> formEventSponsor = new Sponsor <IFormEventHandler>(addinFormEventHandler); Sponsor <IAddinLoader> loaderSponsor = new Sponsor <IAddinLoader>(addinLoader); Sponsor <IEventDispatcher> eventSponsor = new Sponsor <IEventDispatcher>(eventDispatcher); app.RunAddin(); AppDomain.Unload(domain); } catch (AppDomainUnloadedException e) { // ignore and continue shutdown. } finally { runningAddins.Remove(this); runningAddinsHash.Remove(asm.Name); } }
public DoverSystemFormBase() { formEventHandler = ContainerManager.Container.Resolve <IFormEventHandler>(); b1UIDAO = ContainerManager.Container.Resolve <BusinessOneUIDAO>(); resourceManager = ContainerManager.Container.Resolve <B1SResourceManager>(); }
internal void Run() { try { runningAddins.Add(this); runningAddinsHash.Add(asm.Code, this); var setup = new AppDomainSetup(); setup.ApplicationName = "Dover.Inception"; setup.ApplicationBase = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "..", "addIn", asm.Namespace, asm.Name); var domain = AppDomain.CreateDomain("Dover.AddIn", null, setup); domain.SetData("shutdownEvent", shutdownEvent); // Thread synchronization domain.SetData("bootEvent", bootEvent); domain.SetData("assemblyName", asm.Name); // Used to get current AssemblyName for logging and reflection domain.SetData("frameworkManager", frameworkAddinManager); IApplication app = (IApplication)domain.CreateInstanceAndUnwrap("Framework", "Dover.Framework.Application"); SAPServiceFactory.PrepareForInception(domain); addinFormEventHandler = app.Resolve<IFormEventHandler>(); addinLoader = app.Resolve<IAddinLoader>(); eventDispatcher = app.Resolve<IEventDispatcher>(); Sponsor<IApplication> appSponsor = new Sponsor<IApplication>(app); Sponsor<IFormEventHandler> formEventSponsor = new Sponsor<IFormEventHandler>(addinFormEventHandler); Sponsor<IAddinLoader> loaderSponsor = new Sponsor<IAddinLoader>(addinLoader); Sponsor<IEventDispatcher> eventSponsor = new Sponsor<IEventDispatcher>(eventDispatcher); app.RunAddin(); AppDomain.Unload(domain); } catch (AppDomainUnloadedException e) { // ignore and continue shutdown. } finally { runningAddins.Remove(this); runningAddinsHash.Remove(asm.Name); } }
public DoverSystemFormBase() { formEventHandler = ContainerManager.Container.Resolve<IFormEventHandler>(); b1UIDAO = ContainerManager.Container.Resolve<BusinessOneUIDAO>(); resourceManager = ContainerManager.Container.Resolve<B1SResourceManager>(); }