2012-07-27 47 views
7

我在windows azure上部署了mvc-3应用程序。在我的应用程序中,我正在上传文件并保存在App_Data/DownloadedTemplates文件夹中。在windows azure上找不到路径的一部分

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

做的应用程序数据和文件夹DownloadedTemplates存在于服务器上?它们不会自动创建。 – 2012-07-27 12:42:22

+0

是的,当我部署我的项目时,它在我的项目中 – 2012-07-27 12:43:15

回答

7

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

这里是你将如何获得这样的LocalResource(名称和大小也可以在VS的项目配置)的例子:

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

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

相关问题