在azure色的窗户上找不到路径的一部分

我在windows azure上部署了mvc-3应用程序。 在我的应用程序中,我上传文件并将其保存在App_Data/DownloadedTemplates文件夹中。

  var path = Server.MapPath("~App_Data/DownloadedTemplates"); 

我的应用程序目前正在暂存环境中运行。 当我上传文件时,它在浏览器中显示exception:

找不到路径’F:\ sitesroot \ 0 \ App_Data \ DownloadedTemplates \ B.htm_2c77cdfd-c597-4234-bd1e-29ca0a9b8d0e.htm’的一部分。

我使用Server.MapPath来定位服务器上App_Data的路径,现在为什么会出现这种exception? 谁能告诉我这个问题?

您不应该在Windows Azure应用程序中执行此操作。 在Windows Azure中,您应该使用LocalResources (专用磁盘上的保留空间)来保存磁盘上的临时文件,这是您应该存储数据的唯一位置。

以下是如何访问此类LocalResource的示例(可以在VS项目中配置名称和大小):

 LocalResource localResource = RoleEnvironment.GetLocalResource("DownloadedTemplates"); 

不要忘记LocalResources中的数据可能会消失(例如当机器崩溃时)。 如果您确实要保留数据,则应使用Windows Azure Blob存储。