public override bool OnStart()
        {
            // Set the maximum number of concurrent connections
            ServicePointManager.DefaultConnectionLimit = 48;
            RoleEnvironment.Changing += RoleEnvironmentChanging;

            try
            {
                Trace.WriteLine("OnStart:System is starting up", "Information");
                var    endpoint = RoleEnvironment.CurrentRoleInstance.InstanceEndpoints["Http"].IPEndpoint;
                string param;
                if (!AzureSettingsProvider.TryGetString("params", out param))
                {
                    param = "";
                }

                var options = new NodeOptions();
                if (!CommandLineParser.Default.ParseArguments(param.Split(' '), options))
                {
                    throw new Exception("Failed to parse: " + param);
                }

                options.HttpPort    = endpoint.Port;
                options.LocalHttpIp = endpoint.Address.ToString();

                // Uncomment these lines and class BlobTraceListener to write traces into blob.
                //var parts = options.StoreLocation.Split('|');
                //var account = CloudStorageAccount.Parse(parts[0]);
                //var client = account.CreateCloudBlobClient();
                //var container = client.GetContainerReference(parts[1]);
                //var blobListener = new BlobTraceListener(container.GetBlobReference("log.txt"));
                //Trace.Listeners.Add(blobListener);

                Trace.WriteLine("");
                Trace.WriteLine(string.Format("Listening endpoint http://{0}:{1}/", endpoint.Address, endpoint.Port), "Information");

                _entryPoint = NodeEntryPoint.StartWithOptions(options, i => RoleEnvironment.RequestRecycle());
            }
            catch (Exception ex)
            {
                Trace.WriteLine("OnStart:Failed " + ex, "Information");
                throw;
            }

            var result = base.OnStart();

            Trace.WriteLine("OnStart:Exit");
            return(result);
        }
Example #2
0
        public bool Start(HostControl hostControl)
        {
            var nodeOptions = new NodeOptions();

            var config = ConfigurationManager.AppSettings["params"] ?? "";

            if (!CommandLineParser.Default.ParseArguments(config.Split(' '), nodeOptions))
            {
                return false;
            }

            _entryPoint = NodeEntryPoint.StartWithOptions(nodeOptions, i => Environment.Exit(i));

            return true;
        }
Example #3
0
        public bool Start(HostControl hostControl)
        {
            var nodeOptions = new NodeOptions();

            var config = ConfigurationManager.AppSettings["params"] ?? "";

            if (!CommandLineParser.Default.ParseArguments(config.Split(' '), nodeOptions))
            {
                return(false);
            }

            _entryPoint = NodeEntryPoint.StartWithOptions(nodeOptions, i => Environment.Exit(i));

            return(true);
        }
Example #4
0
        public override bool OnStart()
        {
            // Set the maximum number of concurrent connections
            ServicePointManager.DefaultConnectionLimit = 48;
            RoleEnvironment.Changing += RoleEnvironmentChanging;

            try
            {
                Trace.WriteLine("OnStart:System is starting up", "Information");
                var endpoint = RoleEnvironment.CurrentRoleInstance.InstanceEndpoints["Http"].IPEndpoint;
                string param;
                if (!AzureSettingsProvider.TryGetString("params", out param))
                    param = "";

                var options = new NodeOptions();
                if (!CommandLineParser.Default.ParseArguments(param.Split(' '), options))
                    throw new Exception("Failed to parse: " + param);

                options.HttpPort = endpoint.Port;
                options.LocalHttpIp = endpoint.Address.ToString();

                // Uncomment these lines and class BlobTraceListener to write traces into blob.
                //var parts = options.StoreLocation.Split('|');
                //var account = CloudStorageAccount.Parse(parts[0]);
                //var client = account.CreateCloudBlobClient();
                //var container = client.GetContainerReference(parts[1]);
                //var blobListener = new BlobTraceListener(container.GetBlobReference("log.txt"));
                //Trace.Listeners.Add(blobListener);

                Trace.WriteLine("");
                Trace.WriteLine(string.Format("Listening endpoint http://{0}:{1}/", endpoint.Address, endpoint.Port), "Information");

                _entryPoint = NodeEntryPoint.StartWithOptions(options, i => RoleEnvironment.RequestRecycle());
            }
            catch (Exception ex)
            {
                Trace.WriteLine("OnStart:Failed " + ex, "Information");
                throw;
            }

            var result = base.OnStart();

            Trace.WriteLine("OnStart:Exit");
            return result;
        }