public void Start(ZetboxConfig config) { if (container != null) { throw new InvalidOperationException("already started"); } Logging.Configure(); AssemblyLoader.Bootstrap(AppDomain.CurrentDomain, config); container = Program.CreateMasterContainer(config); wcfServer = container.Resolve<IZetboxAppDomain>(); wcfServer.Start(config); }
public override void TearDown() { lock (typeof(SetUpFixture)) { if (manager != null) { using (Log.InfoTraceMethodCall("Shutting down")) { manager.Stop(); manager = null; } } } }
public void Start(ZetboxConfig config) { if (container != null) { throw new InvalidOperationException("already started"); } Logging.Configure(); AssemblyLoader.Bootstrap(AppDomain.CurrentDomain, config); container = Program.CreateMasterContainer(config); wcfServer = container.Resolve <IZetboxAppDomain>(); wcfServer.Start(config); }
protected override void SetUp(IContainer container) { base.SetUp(container); ResetDatabase(container); AutofacServiceHostFactory.Container = container; var config = container.Resolve <ZetboxConfig>(); using (Log.InfoTraceMethodCall("Starting server domain")) { manager = container.Resolve <IZetboxAppDomain>(); manager.Start(config); } }
public void Stop() { lock (_lock) { if (serverManager != null) { try { clientSponsor.Unregister(serverManager as MarshalByRefObject); Logging.Log.Info("Closing client sponsor"); clientSponsor.Close(); Logging.Log.Info("Stopping server manager"); serverManager.Stop(); Logging.Log.Info("Unloading AssemblyLoader from server app domain"); AssemblyLoader.Unload(serverDomain); } catch (Exception ex) { Logging.Log.Warn("Error during shutdown", ex); throw; } } else { Logging.Log.Error("Tried unloading an already unloaded server manager."); } clientSponsor = null; serverManager = null; if (serverDomain != null) { Logging.Log.Info("Unloading server app domain"); AppDomain.Unload(serverDomain); } else { Logging.Log.Warn("Server app domain already vanished."); } serverDomain = null; } }
public void Start(ZetboxConfig config) { if (config == null) { throw new ArgumentNullException("config"); } using (Logging.Log.DebugTraceMethodCall("Start", "Starting AppDomain for Server")) { var serverConfig = new ZetboxConfig() { ConfigFilePath = config.ConfigFilePath, ConfigName = config.ConfigName, EnableShadowCopy = config.EnableShadowCopy, HostType = HostType.Server, IsFallback = false, Server = config.Server, }; serverDomain = AppDomain.CreateDomain("ServerAppDomain", AppDomain.CurrentDomain.Evidence, AppDomain.CurrentDomain.SetupInformation); AssemblyLoader.Bootstrap(serverDomain, serverConfig); serverManager = (IZetboxAppDomain)serverDomain.CreateInstanceAndUnwrap( "Zetbox.Server.Service", "Zetbox.Server.Service.ServerManager"); serverManager.Start(serverConfig); if (clientSponsor == null) { clientSponsor = new ClientSponsor(); clientSponsor.RenewalTime = TimeSpan.FromMinutes(2); } clientSponsor.Register(serverManager as MarshalByRefObject); } }
public void Start(ZetboxConfig config) { using (Logging.Log.DebugTraceMethodCall("Start", "Starting AppDomain for Server")) { serverDomain = AppDomain.CreateDomain("ServerAppDomain", AppDomain.CurrentDomain.Evidence, AppDomain.CurrentDomain.SetupInformation); AssemblyLoader.Bootstrap(serverDomain, config); serverManager = (IZetboxAppDomain)serverDomain.CreateInstanceAndUnwrap( "Zetbox.Server.Service", "Zetbox.Server.Service.ServerManager"); serverManager.Start(config); if (clientSponsor == null) { clientSponsor = new ClientSponsor(); clientSponsor.RenewalTime = TimeSpan.FromMinutes(2); } clientSponsor.Register(serverManager as MarshalByRefObject); } }
protected override void SetUp(IContainer container) { base.SetUp(container); ResetDatabase(container); AutofacServiceHostFactory.Container = container; var config = container.Resolve<ZetboxConfig>(); using (Log.InfoTraceMethodCall("Starting server domain")) { manager = container.Resolve<IZetboxAppDomain>(); manager.Start(config); } }