Example #1
0
        private void Initialize(string path, IPrincipal user)
        {
            ServiceContainer = GlobalContainer.CreateChild();

            this.Id   = Guid.NewGuid();
            this.User = user;

            var info = PathInfoBuilder.Build(path);

            if (info == null)
            {
                return;
            }
            this.ServiceUnitName = info.ServiceUnitName;
            this.Version         = info.Version;
            this.Role            = info.Role;
            this.Request         = new ServiceUnitRequest(this, info);
            this.Configuration   = ServiceConfigurationLoader.Load(info.ServiceUnitName, info.Version, info.Role);

            var logConfig = LogConfiguration.CreateLogAdapterSetting(this.Configuration.Raw);

            var       logger   = new Logger(info.ProcessPath, logConfig);
            IIdentity identity = (this.User != null) ? this.User.Identity : new GenericIdentity("Anonymous");

            this.LogContext = new LogContext(logger, this.Id, identity);

            ServiceContainer.AddInstance(this);
            ServiceContainer.AddInstance(this.LogContext);
            ServiceContainer.AddInstance(this.Configuration);
        }