Ejemplo n.º 1
0
        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));
        }
Ejemplo n.º 2
0
        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);
        }
Ejemplo n.º 3
0
 public void LoadAssembly(IService.ServiceProp serviceProp)
 {
     remoteLoader.LoadAssembly(serviceProp.DLLFullPath);
 }