Предположим, моя роль Azure создает много временных файлов во временной папке Windows и забывает удалить их.В какой-то момент он получит ошибку «не могу создать временный файл».Предположим, что когда это произойдет, мой код роли выбрасывает исключение из RoleEntryPoint.Run()
и роль перезапускается.
Я не говорю о совершенном коде, поддерживающем Azure.В моей роли может использоваться сторонний код черного ящика, который теперь не будет содержать ничего о Azure и «локальном хранилище» и будет вызывать System.IO.Path.GetTempPath()
и, таким образом, создавать файлы прямо в каком-то не удобном для Azure месте.
Проблема заключается в том, чтоесли роль запущена на том же хосте, а временная папка не очищена какой-либо третьей стороной, папка все еще заполнена файлами и роль не сможет функционировать.Согласно этому ответу может случиться так, что для моей роли сохранятся локальные изменения, что является большой проблемой в приведенном выше сценарии.
Гарантируются ли локальные изменения, такие как созданные временные файлы, сбрасываемые приРоль перезапущена?Как убедиться, что запущенная роль находится в достаточно чистом состоянии?