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

时间:2012-07-27 12:36:54

标签: c# asp.net-mvc-3 azure

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

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

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

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

我正在使用Server.MapPath在服务器上找到App_Data的路径,现在为什么会出现这种异常?谁能告诉我这个问题?

1 个答案:

答案 0 :(得分:8)

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

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

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

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