У меня есть часть кода для загрузки текста в хранилище BLOB-объектов Azure.Он использует CloudBlobClient.GetContainerReference().GetBlobReference().UploadText()
.
string connectionString = RoleEnvironment.GetConfigurationSettingValue( "StorageConnectionString" );
CloudStorageAccount account = CloudStorageAccount.Parse( connectionString );
CloudBlobClient blobClient = account.CreateCloudBlobClient();
CloudBlobContainer container = client.GetContainerReference( containerName );
container.CreateIfNotExist();
DateTime currentTime = DateTime.UtcNow;
String instanceId = RoleEnvironment.CurrentRoleInstance.Id;
int threadId = System.Threading.Thread.CurrentThread.ManagedThreadId;
String blobPath = String.Format( "error-{0}-{1}-{2}", currentTime.Ticks, instanceId, threadId );
container.GetBlobReference( blobPath ).UploadText( textToUpload );
Пока код работал нормально.Теперь я добавляю вызов этого кода в различные места приложения ASP.NET MVC2 для отладки последнего, и код молча ничего не делает - ни исключений, ни новых больших двоичных объектов, ни чего-либо.Если я попытаюсь получить
String justUploaded = container.GetBlobReference( blobPath ).DownloadText( textToUpload );
сразу после этого и опубликовать результат на веб-странице - не будет никаких исключений, и строка будет пустой.Если я попытаюсь снова получить
String uri = container.GetBlobReference( blobPath ).Uri.ToString();
, исключений не будет, и строка будет пустой.
Тот же код загрузки работает нормально изнутри OnStart()
той же веб-роли, которая содержитПриложение MVC.
Какова вероятная причина того, что запись в хранилище больших двоичных объектов не работает?Как мне решить эту проблему?