8

添加到我的 web.config

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

允许我的应用程序在 Azure 上运行,但会导致我的远程 IIS 服务器崩溃,因为它已经包含在内。在这种特殊情况下,删除远程 IIS mimeType 是不切实际的。我最终使用了不同的 web.config

是否有另一种机制可以让我配置 Azure IIS mimeType,这样我就没有这个有问题的 web.config?

我想要一个可以在 Azure 和非 Azure 上运行的部署包。

4

2 回答 2

19

这应该有效:

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

另请参阅:http: //blogs.msdn.com/b/chaun/archive/2009/12/04/iis7-error-cannot-add-duplicate-collection-entry-of-type-mimemap-with-unique-关键属性文件扩展名.aspx

web.config这对您的整体 IIS 配置没有任何影响,它只是在再次添加之前有条件地从该特定站点的配置中删除 mimeMap(由 this 管理)。

于 2012-09-13T07:54:03.947 回答
3

您可以创建一个在 IIS 级别添加 mime 类型的启动任务。这样你就不需要将它包含在你的 web.config 中:

"%windir%\System32\inetsrv\appcmd.exe" set config /section:staticContent /+"[fileExtension='.json',mimeType='application/json']"
exit /b 0
于 2012-09-13T07:35:03.857 回答