将mvc4发布到azure后,LocalResource不可用

时间:2013-07-16 19:39:06

标签: asp.net-mvc-4 azure-storage azure-web-roles


我有一个用MVC4构建的非常简单的应用程序。该应用程序允许用户上传文件,应用程序生成输出 这个应用程序在本地运行很好,但是当我发布到azure(通过右键单击 - >发布)时,我得到一个描述性较差的错误。我已经发现错误是因为在代码中,我们访问了服务器相对路径,而这在azure中是不可能的。所以我找到了一种方法来解决这个link,它说我应该使用LocalResource而不是Server.MapPath。这对我来说很有意义,但到目前为止,我正在努力建议这条线。

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

我无法使其正常工作,也无法获得正确的错误。顺便说一下,我不知道如何在azure中启用错误日志:(
所以,在深入了解MSDN之后,我已经看到了I should configure the Local Storage Resources,但是当我创建了一个本地MVC4项目时,我找不到应该在哪里配置它。

我需要能够在应用程序中存储临时文件(托管在azure中)。

  • 有人遇到过这个问题吗?
  • 有人知道如何在这样的项目中启用本地存储资源吗?

TIA!
米尔顿罗德里格斯

1 个答案:

答案 0 :(得分:1)

嗯,经过一段时间的努力,我终于使用了Windows Azure Tools 步骤:

  1. 添加新项目
  2. 在“云”类别下,选择“Windows Azure云服务”。
    请注意,如果您没有此选项,则会显示安装所需SDK的选项。先安装它。
  3. 正确命名:)
  4. 将出现新的Windows Azure Cloud Service窗口,选择适合您需求的角色。在我的情况下,我选择ASP.Net MVC4,然后将其删除。
    请注意,您可以在右侧编辑创建的角色的名称。
  5. 在新项目的Roles文件夹中,选择“添加”,然后选择“解决方案中的Web角色项目”。您的项目将是一个添加选项。
  6. 您可以删除文件夹中的其他角色,在步骤4中创建的Web项目,以及以Content结尾的文件夹(即WebRole1Content)。基本上,您可以删除已创建的资产,但Azure服务,并将服务链接到您的项目。
  7. 你几乎完成了。按照this link配置您的本地存储:)
  8. 现在你已经完成了!