예제 #1
0
        /// <summary>
        /// Configure the build request handlers.
        /// </summary>
        /// <param name="config"></param>
        public void ConfigureBuildServer(BuildServerConfigDO config)
        {
            var alias = ConfigurationManager.Instance;

            alias.AddConfig("BuildServerManagerServiceEP", config.ServiceEndpointAddress, true);
            alias.AddConfig("LocalStoragePath", config.LocalStoragePath, true);
        }
예제 #2
0
        public void HostBuildServerAsWCFService(string[] args)
        {
            string address = @"http://localhost:5000/Services";

            ConfigurationManager.
            Instance.AddConfig("BuildServerMgrEP", address);
            IFederationServerLogger logger =
                ServiceProvider.GetService <IFederationServerLogger>();

            logger.WriteDebugLog("Starting the BuildServerRemote object as service.");
            BuildServerConfigDO obj             = new BuildServerConfigDO();
            WCFServiceHost      buildServerHost = new WCFServiceHost(
                typeof(BuildServerRemote), new Uri(address));

            buildServerHost.AddServiceEndpoint(typeof(IBuildServer),
                                               new WSHttpBinding(), "BuildServerMgmt");
            try
            {
                buildServerHost.Open();
                Console.WriteLine("Build server is listening at:" + address);
                Console.Write("Press q to shut down the server: ");
                Console.WriteLine();
                Console.WriteLine();
                ConsoleKeyInfo keyInfo;
                do
                {
                    keyInfo = Console.ReadKey();
                } while (keyInfo.Key != ConsoleKey.Q);
                buildServerHost.Close(new TimeSpan(0, 1, 0));
            }
            catch (Exception ex)
            {
                Console.WriteLine("Please start in admin mode. " + ex.Message);
                Console.ReadKey();
            }
        }