1

我有一个 MVC3 站点,静态图像从 /Content/images 很好地提供给站点的用户,但是如果我尝试在 session 之外访问它们,我会得到 404 。

这是 Facebook 对话框中使用的图标和小型品牌资产的问题,因为当第三方页面引用它们时,它们很自然地 404。

我将以下内容添加到 /Content 文件夹中的 web.config 中,但没有骰子:

<system.web>
  <authorization>
    <allow users="*"/>
  </authorization>
</system.web>
<system.webServer>
  <validation validateIntegratedModeConfiguration="false" />
  <handlers>
    <remove name="BlockViewHandler" />
  </handlers>
</system.webServer>

这些只是小文件,虽然我可以将它们放到第三方 CDN 上,但它使版本控制更加复杂。

我在想我可能需要配置 IIS 以绕过 ASP.NET 路由或创建 /assets 文件夹并添加类似routes.IgnoreRoute("assets/{*pathInfo}");Global.asax 的内容。

最好的计划?

马丁

4

2 回答 2

0

这似乎更多地是关于您的会话代码的问题,而不是关于如何配置 IIS 的问题。理论上,静态文件托管通过 IIS“正常工作”——与动态内容相同。

于 2012-05-30T21:58:42.920 回答
0

您是否考虑过将这些资产放在子域中?

过去我将图像放在不同的域上:images.mydomain.com

于 2012-05-30T22:01:51.880 回答