Azure blob 저장소에 텍스트를 업로드 할 수있는 코드가 있습니다. CloudBlobClient.GetContainerReference().GetBlobReference().UploadText()
을 사용합니다.ASP.NET MVC 내부에서 BLOB 저장소에 쓸 수 없습니다
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();
다시 예외가 없으며 문자열이 비어 있습니다.
매우 동일한 업로드 코드가 MVC 애플리케이션이 포함 된 동일한 웹 역할의 OnStart()
내부에서 정상적으로 작동합니다.
BLOB에 쓰기가 가능한 이유는 무엇입니까? 어떻게 해결할 수 있습니까?
Global.asax Application_Start 이벤트 처리기에서 Microsoft.WindowsAzure.CloudStorageAccount.SetConfigurationSettingPublisher 메서드 호출을 사용합니까? –
@Yuriy Rozhovetskiy : 지금은 그렇게하고 있지만 도움이되지 않습니다. – sharptooth
CloudStorageAccount 인스턴스를 만드는 방법은 무엇입니까? –