假设我的 Azure 角色在 Windows 临时文件夹中创建了很多临时文件并且忘记删除它们。在某些时候,它会收到“无法创建临时文件”错误。假设一旦发生这种情况,我的角色代码会抛出异常RoleEntryPoint.Run()
并且角色会重新启动。
我不是在这里谈论完美的 Azure 感知代码。我的角色可能会使用第三方黑盒代码,这些代码现在与 Azure 和“本地存储”无关,只会调用System.IO.Path.GetTempPath()
并因此在某个不适合 Azure 的位置创建文件。
问题是,如果角色是在同一台主机上启动的,并且临时文件夹没有被某些第三方清理,则该文件夹仍然充满文件,角色将无法运行。根据这个答案,可能会为我的角色保留本地更改,这在上述情况下是一个大问题。
重新启动角色时,是否保证会重置创建的临时文件等本地更改?如何确保启动的角色处于相当干净的状态?