Exemple #1
0
        public SiteConfiguration(HttpContextBase httpContext)
        {
            var serializer = new JavaScriptSerializer();
            var request = serializer.Deserialize<HubRequest>(httpContext.Request["data"]);

            using (var db = new KuduContext()) {
                var application = db.Applications.Find(request.State.AppName);
                ServiceUrl = application.ServiceUrl;
                SiteUrl = application.SiteUrl;
                Name = application.Name;
                Slug = application.Slug;
                UniqueId = application.UniqueId;

                ISiteConfiguration config;
                if (_cache.TryGetValue(UniqueId, out config)) {
                    Repository = config.Repository;
                    FileSystem = config.FileSystem;
                    DeploymentManager = config.DeploymentManager;
                    RepositoryManager = config.RepositoryManager;
                }
                else {
                    Repository = new RemoteRepository(ServiceUrl + "scm");
                    FileSystem = new RemoteFileSystem(ServiceUrl + "files");
                    DeploymentManager = new RemoteDeploymentManager(ServiceUrl + "deploy");
                    RepositoryManager = new RemoteRepositoryManager(ServiceUrl + "scm");

                    DeploymentManager.StatusChanged += OnDeploymentStatusChanged;

                    _cache[UniqueId] = this;
                }
            }
        }
Exemple #2
0
 /// <summary>
 /// Load your modules or register your services here!
 /// </summary>
 /// <param name="kernel">The kernel.</param>
 private static void RegisterServices(IKernel kernel)
 {
     kernel.Bind<IFileSystem>().ToConstant(new RemoteFileSystem(FilesService));
     kernel.Bind<IRepository>().ToConstant(new RemoteRepository(ScmService));
     kernel.Bind<IRepositoryManager>().ToConstant(new RemoteRepositoryManager(ScmService));
     var deploymentManager = new RemoteDeploymentManager(DeploymentService);
     kernel.Bind<IDeploymentManager>().ToConstant(deploymentManager);
 }