0

我制作了一个简单的 Sencha Touch Web 应用程序并将其部署到 Azure 以试用 Azure。Sencha Touch 所做的第一件事就是尝试下载 app.json 文件。在 IIS 上,我通常会在 mime 类型部分启用 json,但我无法弄清楚如何使用 Azure Web 控制台执行此操作。因此,当应用执行 XMLHttpRequest 以获取文件时,将返回 404 错误。

我在 SO 上看到了一些关于将 .json 添加到 web.config 的帖子,我尝试了以下方法,但无济于事:

<system.webServer>
    <validation validateIntegratedModeConfiguration="false" />
    <staticContent>
      <remove fileExtension=".json"/>
      <mimeMap fileExtension=".json" mimeType="application/json"  />
    </staticContent>
    <handlers>
      <remove name="ExtensionlessUrlHandler-ISAPI-4.0_32bit" />
      <remove name="ExtensionlessUrlHandler-ISAPI-4.0_64bit" />
      <remove name="ExtensionlessUrlHandler-Integrated-4.0" />
      <add name="ExtensionlessUrlHandler-ISAPI-4.0_32bit" path="*." verb="GET,HEAD,POST,DEBUG,PUT,DELETE,PATCH,OPTIONS" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness32" responseBufferLimit="0" />
      <add name="ExtensionlessUrlHandler-ISAPI-4.0_64bit" path="*." verb="GET,HEAD,POST,DEBUG,PUT,DELETE,PATCH,OPTIONS" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework64\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness64" responseBufferLimit="0" />
      <add name="ExtensionlessUrlHandler-Integrated-4.0" path="*." verb="GET,HEAD,POST,DEBUG,PUT,DELETE,PATCH,OPTIONS" type="System.Web.Handlers.TransferRequestHandler" preCondition="integratedMode,runtimeVersionv4.0" />
    </handlers>
  </system.webServer>

网络应用程序在这里。

http://nsgapp.azurewebsites.net

非常感谢有关如何启用 Azure 共享实例来提供 .json 文件的任何输入。

4

1 回答 1

2

没关系,这是一个愚蠢的错误。我有两个网站……一个为 sencha Web 应用程序提供服务,一个为 Web 服务提供 ASP.NET MVC WebAPI 站点。我在后者上启用了 json,而我应该在前者上启用它,因为 app.json 是从实际的客户端应用程序中提供的。因此,启用 azure 下载静态 json 文件的正确方法是确保您拥有以下内容:

<system.webServer>
    <staticContent>
      <remove fileExtension=".json"/>
      <mimeMap fileExtension=".json" mimeType="application/json"  />
    </staticContent>
  </system.webServer>

在 web.config 中。

于 2012-12-07T21:14:51.440 回答