public static ILog GetLogger(IService.ServiceProp serviceProp) { LogHelper.SetLevel(serviceProp.Code, serviceProp.LogLevel); LogHelper.AddAppender(serviceProp.Code, LogHelper.CreateFileAppender(serviceProp.Code + "Appender", System.IO.Path.Combine(Util.LogDir, serviceProp.Directory, serviceProp.Code + ".log"))); return(LogManager.GetLogger(serviceProp.Code)); }
public ServiceLoader(IService.Host host) { this.serviceProp = host.serviceProp; AppDomainSetup setup = new AppDomainSetup(); setup.LoaderOptimization = LoaderOptimization.SingleDomain; setup.ApplicationName = serviceProp.Code; setup.ApplicationBase = AppDomain.CurrentDomain.BaseDirectory; setup.PrivateBinPath = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, serviceProp.Directory); setup.CachePath = setup.ApplicationBase; //Path.Combine(setup.ApplicationBase, "temp"); setup.ShadowCopyFiles = "true"; setup.ShadowCopyDirectories = setup.ApplicationBase; AppDomain.CurrentDomain.SetShadowCopyFiles(); this.AppDomain = AppDomain.CreateDomain(serviceProp.Code, null, setup); this.AppDomain.SetData("APP_CONFIG_FILE", serviceProp.DLLFullPath + ".config"); String name = Assembly.GetExecutingAssembly().GetName().FullName; this.remoteLoader = (RemoteLoader)this.AppDomain.CreateInstanceAndUnwrap(name, typeof(RemoteLoader).FullName); }
public void LoadAssembly(IService.ServiceProp serviceProp) { remoteLoader.LoadAssembly(serviceProp.DLLFullPath); }