在windows azure上找不到路径的一部分
问题描述:
我在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在服务器上的路径,现在为什么是这个异常?有人可以告诉我这个问题吗?
答
你不应该在Windows Azure应用程序中这样做。在Windows Azure中,您应该使用LocalResources(专用磁盘上的保留空间)将临时文件保存在磁盘上,这是您应该存储数据的唯一位置。
这里是你将如何获得这样的LocalResource(名称和大小也可以在VS的项目配置)的例子:
LocalResource localResource = RoleEnvironment.GetLocalResource("DownloadedTemplates");
不要忘记LocalResources的数据可能会消失(当机崩溃)。如果您确实想要保存数据,则应该使用Windows Azure Blob存储。
做的应用程序数据和文件夹DownloadedTemplates存在于服务器上?它们不会自动创建。 – 2012-07-27 12:42:22
是的,当我部署我的项目时,它在我的项目中 – 2012-07-27 12:43:15