コード例 #1
0
        public static List<CloudStorageContainer> ImportContainers(string accountName, string accountKey)
        {
            Microsoft.WindowsAzure.Storage.CloudStorageAccount storageAccount = //new Microsoft.WindowsAzure.Storage.CloudStorageAccount()
                Microsoft.WindowsAzure.Storage.CloudStorageAccount.Parse(
                    string.Format("DefaultEndpointsProtocol=https;AccountName={0};AccountKey={1};BlobEndpoint=https://{0}.blob.core.windows.net/", accountName, accountKey)
                   );
            Microsoft.WindowsAzure.Storage.Blob.CloudBlobClient blobClient = storageAccount.CreateCloudBlobClient();
            var containers = blobClient.ListContainers();

            //Microsoft.WindowsAzure.Storage.Blob.CloudBlobContainer container = blobClient.GetContainerReference(System.Configuration.ConfigurationManager.AppSettings["AzureDefaultStorage"]);
            // Microsoft.WindowsAzure.Storage.Blob.CloudBlobContainer container = blobClient.GetContainerReference(System.Configuration.ConfigurationManager.AppSettings["AzureUserProfilesStorage"]);

            List<CloudStorageContainer> list = new List<CloudStorageContainer>();

            foreach (var azureContainer in containers.OrderBy(c => c.Name)) {
                CloudStorageContainer container = new CloudStorageContainer {
                    //CloudStorageContainerId = azureContainer.Name,
                    //CloudStorageContainerId = Guid.NewGuid().ToString("D").ToLower(),
                    ProviderKey = azureContainer.Name,
                    ContainerName = azureContainer.Name,
                    Alias = azureContainer.Name
                };
                list.Add(container);
            }

            return list;
        }
コード例 #2
0
        public async Task<ActionResult> Create(CloudStorageContainerCreateViewModel model, string returnUrl) {

            //ApplicationDbContext context = new ApplicationDbContext();
            //var providers = context.CloudStorageProviders.ToList();

            //var model = new CloudStorageAccountCreateViewModel {
            //    CloudStorageProviders = providers,
            //    //CloudStorageProviderId = null,
            //    //AccountName = null,
            //    //AccountKey
            //};
            CloudStorageContainer container = new CloudStorageContainer {
                // CloudStorageAccountId = model.AccountName,
                // CloudStorageProviderId = model.CloudStorageProviderId,
                //CloudStorageContainerId = model.CloudStorageContainerId,
                //CloudStorageAccountId = model.CloudStorageAccountId,
                ProviderKey = model.ProviderKey,
                ContainerName = model.ContainerName,
                Alias = string.IsNullOrEmpty(model.Alias) ? model.Alias : model.ContainerName,
                Description = model.Description // ,
            };

            var user = this.CurrentSecurityUser;
            var accounts = user.CloudStorageAccounts.ToList(); //  .Select(m => m.CloudStorageAccountId == model.CloudStorageAccountId).FirstOrDefault();
            var account = accounts.Where(m => m.PublicKey == model.CloudStorageAccountPublicKey).FirstOrDefault();
            // user.CloudStorageAccounts.Add(container);
            account.CloudStorageContainers.Add(container);
            await UserManager.UpdateAsync(user);


            return RedirectToLocal(returnUrl);

            //return View(model);
        }