Example #1
0
        private void InitializeStorage()
        {
            // Open storage account using credentials from .cscfg file.
            var storageAccount = CloudStorageAccount.Parse(RoleEnvironment.GetConfigurationSettingValue("StorageConnectionString"));

            // Get context object for working with queues, and
            // set a default retry policy appropriate for a web user interface.
            CloudQueueClient queueClient = storageAccount.CreateCloudQueueClient();

            queueClient.DefaultRequestOptions.RetryPolicy = new LinearRetry(TimeSpan.FromSeconds(3), 3);
            var dbConnString = CloudConfigurationManager.GetSetting("PrimeSolverDbConnectionString");

            _repository = new PrimeNumbersRepository(dbConnString);
            // Get a reference to the queue.
            _primesQueue = queueClient.GetQueueReference("primes");
        }
Example #2
0
        // A production app would also include an OnStop override to provide for
        // graceful shut-downs of worker-role VMs.  See
        // http://azure.microsoft.com/en-us/documentation/articles/cloud-services-dotnet-multi-tier-app-storage-3-web-role/#restarts
        public override bool OnStart()
        {
            // Set the maximum number of concurrent connections.
            ServicePointManager.DefaultConnectionLimit = 12;

            // Open storage account using credentials from .cscfg file.
            var storageAccount = CloudStorageAccount.Parse
                                     (RoleEnvironment.GetConfigurationSettingValue("StorageConnectionString"));

            Trace.TraceInformation("Creating primes blob container");
            //var blobClient = storageAccount.CreateCloudBlobClient();
            //var tableClient = storageAccount.CreateCloudTableClient();

            //_tableContainer = tableClient.GetTableReference("primes");
            //primesBlobContainer = blobClient.GetContainerReference("primes");
            //if (_tableContainer.CreateIfNotExists())
            //{
            // Enable public access on the newly created "primes" container.
            //_tableContainer.SetPermissions(new TablePermissions(), new TableRequestOptions(new TableRequestOptions() {}));
            //}
            var dbConnString = CloudConfigurationManager.GetSetting("PrimeSolverDbConnectionString");

            _repository = new PrimeNumbersRepository(dbConnString);
            //var webRoleEndPoint = RoleEnvironment.Roles["PrimeWorkerWeb"].Instances[0].InstanceEndpoints["WebPortalEndPointHttps"].ToString();

            BaseUrl = CloudConfigurationManager.GetSetting("ApplicationRoot");

            Trace.TraceInformation("Creating primes queue");
            CloudQueueClient queueClient = storageAccount.CreateCloudQueueClient();

            _primesQueue = queueClient.GetQueueReference("primes");
            _primesQueue.CreateIfNotExists();

            //Trace.TraceInformation("Storage initialized");
            return(base.OnStart());
        }