protected void Application_Start() { AreaRegistration.RegisterAllAreas(); WebApiRouteRegistry.Register(GlobalConfiguration.Configuration); // Filter out unhandled exceptions for logging purposes. GlobalFilters.Filters.Add(new ExceptionFilter()); // Do not remove this Attribute, this enables the [Authorize] attribute by default on all routes. // Applies to MVC routes GlobalFilters.Filters.Add(new AuthorizeAttribute()); // Applies to WebApi routes GlobalConfiguration.Configuration.Filters.Add(new System.Web.Http.AuthorizeAttribute()); StructureMapDependencyResolver serviceLocator = TypeRegistry.RegisterTypes(); DependencyResolver.SetResolver(serviceLocator); GlobalConfiguration.Configuration.DependencyResolver = serviceLocator; RouteRegistry.RegisterRoutes(RouteTable.Routes); BundleConfig.RegisterBundles(BundleTable.Bundles); ////#if DEBUG ////BundleTable.EnableOptimizations = false; ////#else //// BundleTable.EnableOptimizations = true; ////#endif }
public void Setup() { rels = new List<string>() { "foo", "bar" }; controller = new RegController(); registry = new RouteRegistry(); registry.Register(controller); }
protected void Application_Start() { RouteRegistry.RegisterRoutes(RouteTable.Routes); ViewEngineRegistry.SetViewEngines(); if (!WindsorContainerSetup.InitializeContainer()) { return; } JoinedRegistry.Register(WindsorContainerSetup.Container); ControllerRegistry.Register(WindsorContainerSetup.Container); }
/// <summary> /// </summary> public static void OnStart() { InitSettings(); TagRegistry = new TagRegistry(Settings.Tags); TagRegistry.TagsUpdated += () => { Settings.Tags = TagRegistry.Tags; SaveSettings(); }; RouteRegistry = new RouteRegistry(Settings.Routes, TagRegistry); RouteRegistry.RoutesUpdated += () => { Settings.Routes = RouteRegistry.Routes; SaveSettings(); }; BuildRegistry = new BuildManifestRegistry(TagRegistry); BuildRegistry.Open(Path.Combine(AppDataDir, "Manifests"), Settings.MaximumManifests); BuildRegistry.ManifestLastSeenTimes = new Dictionary <string, DateTime>(Settings.ManifestLastSeenTimes); LicenseMgr = new LicenseManager(); LicenseMgr.Start(Path.Combine(AppDataDir, "License.dat")); UserManager = new UserManager(Settings.Users, Settings.UserGroups); UserManager.UsersUpdated += () => { Settings.Users = UserManager.Users; SaveSettings(); }; UserManager.UserGroupsUpdated += () => { Settings.UserGroups = UserManager.UserGroups; SaveSettings(); }; UserManager.PermissionsUpdated += user => { Settings.Users = UserManager.Users; SaveSettings(); }; NetServer = new Core.Server.Server(); RemoteActionServer = new RemoteActionServer(NetServer); NetServer.Start(Settings.ServerPort, BuildRegistry, UserManager, LicenseMgr, TagRegistry, RouteRegistry, RemoteActionServer); NetServer.BandwidthLimit = Settings.MaxBandwidth; }
protected void Application_Start() { RouteRegistry.RegisterRoutes(RouteTable.Routes); ViewEngineRegistry.SetViewEngines(); if (!WindsorContainerSetup.InitializeContainer()) { return; } WebRegistry.Register(WindsorContainerSetup.Container); HtmlConventionRegistry.Register(WindsorContainerSetup.Container); DynamicRegistry.Register(WindsorContainerSetup.Container); DynamicServicesRegistry.RegisterConventions(); DynamicServicesRegistry.Bootstrap(WindsorContainerSetup.Container); }
/// <summary> /// </summary> public static void OnStart() { Statistic.Instantiate(); ScmManager = new ScmManager(); IOQueue = new AsyncIOQueue(); ManifestDownloadManager = new ManifestDownloadManager(); DownloadManager = new DownloadManager(); DownloadManager.OnRequestReplicatedBuilds += (List <Guid> SelectTags, List <Guid> IgnoreTags, DateTime NewerThan) => { NetClient.RequestFilteredBuilds(SelectTags, IgnoreTags, NewerThan); Settings.ReplicationNewerThanTime = DownloadManager.ReplicationNewerThanTime; SaveSettings(); }; Logger.Log(LogLevel.Info, LogCategory.Main, "OnStart: Initializing settings"); InitSettings(); NetClient = new Core.Client.Client(); RemoteActionClient = new RemoteActionClient(NetClient, ManifestDownloadManager); TagRegistry = new TagRegistry(); RouteRegistry = new RouteRegistry(null, TagRegistry); BuildRegistry = new BuildManifestRegistry(TagRegistry); StorageManager = new StorageManager(Settings.StorageLocations, ManifestDownloadManager, BuildRegistry, IOQueue, Settings.StorageHeuristic, Settings.PrioritizeKeepingBuildTagIds, Settings.PrioritizeDeletingBuildTagIds); Logger.Log(LogLevel.Info, LogCategory.Main, "OnStart: Setting up network client"); BuildRegistry.Open(Path.Combine(AppDataDir, "Manifests"), int.MaxValue); Logger.Log(LogLevel.Info, LogCategory.Main, "OnStart: Setting up network client"); NetClient.Start( Settings.ServerHostname, Settings.ServerPort, Settings.ClientPortRangeMin, Settings.ClientPortRangeMax, Settings.AllowRemoteActions, Settings.TagIds, BuildRegistry, StorageManager, ManifestDownloadManager, TagRegistry, RouteRegistry ); NetClient.TagIds = new List <Guid>(Settings.TagIds); // Setup the virtual file system we will store our available builds in. Logger.Log(LogLevel.Info, LogCategory.Main, "OnStart: Setting up build file system"); BuildFileSystem = new VirtualFileSystem(); NetClient.OnClientTagsUpdatedByServer += () => { Settings.TagIds = NetClient.TagIds; NetClient.RestartConnections(); SaveSettings(); }; NetClient.OnTagListRecieved += (List <Tag> InTags) => { TagRenderer.InvalidateResources(); }; NetClient.OnPermissionsUpdated += () => { BuildFileSystem.ForceRefresh(); DownloadManager.ForceRefresh(); }; NetClient.OnBuildPublished += (string Path, Guid Id) => { BuildFileSystem.ForceRefresh(); DownloadManager.ForceRefresh(); }; NetClient.OnBuildUpdated += (string Path, Guid Id) => { BuildFileSystem.ForceRefresh(); DownloadManager.ForceRefresh(); }; NetClient.OnConnectedToServer += () => { BuildFileSystem.ForceRefresh(); }; NetClient.OnFilteredBuildsRecieved += (Builds) => { DownloadManager.RecieveReplicatedBuilds(Builds); }; NetClient.OnBuildsRecieved += (RootPath, Builds) => { List <VirtualFileSystemInsertChild> NewChildren = new List <VirtualFileSystemInsertChild>(); foreach (NetMessage_GetBuildsResponse.BuildInfo Build in Builds) { NewChildren.Add( new VirtualFileSystemInsertChild { VirtualPath = Build.VirtualPath, CreateTime = Build.Guid == Guid.Empty ? DateTime.UtcNow : Build.CreateTime, Metadata = Build } ); } BuildFileSystem.ReconcileChildren(RootPath, NewChildren); }; BuildFileSystem.OnRequestChildren += (FileSystem, Path) => { if (NetClient.IsConnected) { NetClient.RequestBuilds(Path); } }; BuildFileSystem.Init(); // Setup download managers for the manifest and app level. Logger.Log(LogLevel.Info, LogCategory.Main, "OnStart: Setting up manifest download manager"); ManifestDownloadManager.Start( StorageManager, Settings.ManifestDownloadStates, BuildRegistry, IOQueue ); Logger.Log(LogLevel.Info, LogCategory.Main, "OnStart: Setting up download manager"); DownloadManager.Start( ManifestDownloadManager, Settings.DownloadStates, BuildFileSystem, ScmManager, Settings.ReplicationNewerThanTime ); Logger.Log(LogLevel.Info, LogCategory.Main, "OnStart: Setting up update download"); // Ensure we are downloading the latest update. string UpdateDownloadName = "$ Buildsync Update $"; foreach (DownloadState State in DownloadManager.States.States) { if (State.Name == UpdateDownloadName) { InternalUpdateDownload = State; break; } } if (InternalUpdateDownload == null) { InternalUpdateDownload = DownloadManager.AddDownload(UpdateDownloadName, "$Internal$/Updates", 2, BuildSelectionRule.Newest, BuildSelectionFilter.None, "", "", true, false, "", "", new List <Guid>(), new List <Guid>()); } // Make sure we have to get the latest manifest id before updating. InternalUpdateDownload.ActiveManifestId = Guid.Empty; // Clean up any orphan builds. StorageManager.CleanUpOrphanBuilds(); Logger.Log(LogLevel.Info, LogCategory.Main, "OnStart: Complete"); }