Я пытаюсь перенести довольно сложное приложение в Windows Azure. Как в рабочей роли, так и в веб-роли во многих случаях приложение сохраняет файлы в локальной файловой системе.
Вот пример:
string thumbnailFileName = System.IO.Path.GetDirectoryName(fileName) + "\\" + "bthumb_" + System.IO.Path.GetFileName(fileName);
thumbnail.Save(thumbnailFileName);
и еще пример:
using (System.IO.StreamWriter file = System.IO.File.AppendText(GetCurrentLogFilePath()))
{
string logEntry = String.Format("\r\n{0} - {1}: {2}", DateTime.Now.ToString("[email protected]"), type.ToString(), message);
file.Write(logEntry);
file.Close();
}
В этих примерах мы сохраняем изображения и файлы журналов в местах, указанных в файле app.config. Вот пример:
<add key="ImageFileDirectory" value="C:\temp\foo\root\auth\inventorypictures"/>
Я хотел бы внести как можно меньше изменений в код для поддержки хранилища BLOB-объектов Azure на случай, если мы когда-нибудь решим вернуться к более традиционной среде размещения, и в более общем плане уменьшить вероятность возникновения непреднамеренных проблем.
Основываясь на этом сообщении, я решил, что Azure Drive - не лучший способ идти.
Может ли кто-нибудь направить меня в правильном направлении (в идеале с примером)? Лучшим решением, на мой взгляд, было бы то, которое требует только изменения моего файла конфигурации. Но я предполагаю, что это не реально.