加载xml文件,该文件必须与MVC3中的视图位于同一目录中

时间:2011-10-11 08:20:53

标签: flash asp.net-mvc-3

项目的Web设计人员使用Flash Gallery加载images.xml文件。 SWF希望它与.html文件位于同一目录中。因此,如果我处于操作/Public/Home/Gallery,则期望images.xml位于Public/Home

如何允许Flash SWF加载文件?我无法访问源代码,因此无法更改SWF的行为。

1 个答案:

答案 0 :(得分:1)

哎呀,你应该真正看看其他画廊......

您选择的那个有一些问题:

  • 锁定对视图文件夹的访问以保护服务器端视图的内容 (阻止他们意外地将其作为文件下载等)
  • 对于路由和操作默认值,可以有多个URL来访问同一页面
  • 它如何处理查询字符串?

即。鉴于以下情况,它会在哪里看?

  • /主页/索引
  • /主页/索引/
  • /主页/索引?页= 1
  • /主页/索引/?页= 1

所有这些都指向最终相同的行动。

可以做这样的事情:

<system.webServer>
  <rewrite>
    <rules>
      <rule name="Rewrite images.xml" stopProcessing="true">
        <match url=".*/images.xml" />
        <action type="Rewrite" url="Content/{R:0}" />
      </rule>
    </rules>
  </rewrite>
</system.webServer>

通过这次重写,对/Home/Index/images.xml的请求将被重写(对Web浏览器透明)到/Content/Home/Index/images.xml。但是你仍然有拖尾斜杠,查询字符串,默认操作的问题。

有很多令人敬畏的jquery插件可以更好地运行,并且没有那么致命的缺陷。