пакет nuget Microsoft.Azure.Storage.File 9.4.2 загружает файлы где-то <26 МБ просто отлично и беззвучно зависает при загрузке файлов> 26 МБ.
Проект ориентирован на .NET (Desktop) Framework 4.7.2.
***** Обновление ***** Эта проблема возникает при попытке загрузки файла большого размера с использованием различных клиентов и различных облачных служб (у меня возникла та же проблема при загрузке вS3), но только в контексте веб-приложения NancyFx.Локальная проблема возникает так же, как при развертывании в службе приложений Azure, поэтому она почти наверняка не связана с моей локальной конфигурацией разработчика.
Чтобы было ясно, загрузки зависают при попытке загрузить в приложении NancyFx;Я не загружаю в приложение NancyFx.
На данный момент мое решение состоит в том, чтобы просто не загружать файлы изнутри Нэнси, но я оставлю этот вопрос открытым на случай, еслиКто-нибудь заинтересован в техническом решении проблемы, которая все еще существует.
***** Конец обновления *****
И, чтобы быть понятным, загрузка файлов
Попытка использования выглядит следующим образом:
public void UploadFileFromFile(string azureFileName, string localFileName)
{
CloudStorageAccount storageAccount = CloudStorageAccount.Parse(SafeConfig.AzureFileStorageMaterialConnectionString);
CloudFileClient client = storageAccount.CreateCloudFileClient();
CloudFileShare share = client.GetShareReference(SafeConfig.AzureFileStorageMaterialShareName);
CloudFileDirectory dir = share.GetRootDirectoryReference();
CloudFile fileReference = dir.GetFileReference(azureFileName);
fileReference.UploadFromFile(localFileName);
}
Стоит отметить, что клиент зависает точно так же, когда я использую метод fileReference.UploadFromByteArray()
, и также зависает, когда я пытаюсь использовать различные альтернативы * Async, какну.
Когда я пытаюсь использовать метод fileReference.UploadFromStream()
, я получаю исключение " Объект не находится в пригодном для использования состоянии ", которое я не считаю особенно действующим сообщением об исключении,Это мой предпочтительный метод для загрузки, но из-за разной ошибки это может быть отдельным вопросом.