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

Flash 加载一个xml文件,该文件必须与MVC3中的视图位于同一目录中,flash,asp.net-mvc-3,Flash,Asp.net Mvc 3,项目上的web设计器正在使用加载images.xml文件的。SWF希望它与.html文件位于同一目录中。因此,如果我在action/Public/Home/Gallery,它会希望images.xml位于Public/Home 如何允许Flash SWF加载文件?我无法访问源代码,因此无法更改SWF的行为。哎哟,你真应该看看其他库 您选择的一个存在一些问题: 对“视图”文件夹的访问被锁定,以保护服务器端视图的内容 (防止它们意外地作为文件下载等) 使用路由和操作默认值,可以有多个URL来访问同

项目上的web设计器正在使用加载images.xml文件的。SWF希望它与.html文件位于同一目录中。因此,如果我在action
/Public/Home/Gallery
,它会希望images.xml位于
Public/Home


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

哎哟,你真应该看看其他库

您选择的一个存在一些问题:

  • 对“视图”文件夹的访问被锁定,以保护服务器端视图的内容 (防止它们意外地作为文件下载等)
  • 使用路由和操作默认值,可以有多个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插件可以使用,它们的性能更好,并且没有那么致命的缺陷