Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/295.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# MVC路由静态文件_C#_Asp.net Mvc_Asp.net Mvc 3_Maproute - Fatal编程技术网

C# MVC路由静态文件

C# MVC路由静态文件,c#,asp.net-mvc,asp.net-mvc-3,maproute,C#,Asp.net Mvc,Asp.net Mvc 3,Maproute,我正在使用一个遗留swf文件,该文件正在控制器/操作路由中查找静态路由。例如,它正在尝试下载该文件 http://localhost:59801/Resource/Details/ClearExternalPlaySeekMute.swf 当文件存在于根目录中时: http://localhost:59801/ClearExternalPlaySeekMute.swf 我可以使用MapRoute将此URL映射到根目录吗?这应该适合您,但我认为通过IIS会更好 routes.IgnoreRou

我正在使用一个遗留swf文件,该文件正在控制器/操作路由中查找静态路由。例如,它正在尝试下载该文件

http://localhost:59801/Resource/Details/ClearExternalPlaySeekMute.swf
当文件存在于根目录中时:

http://localhost:59801/ClearExternalPlaySeekMute.swf

我可以使用
MapRoute
将此URL映射到根目录吗?

这应该适合您,但我认为通过IIS会更好

routes.IgnoreRoute(“{file}.swf”)

我记得一篇非常好的帖子。如果我找到它,我一定会参考它

基本上相同的问题

您可以在IIS中使用该模块。安装后,只需添加以下重写规则:

<system.webServer>
    <rewrite>
      <rules>
        <rule name="Rewrite Static Flash file" stopProcessing="true">
          <match url="^Resource/Details/ClearExternalPlaySeekMute.swf$" />
          <action type="Rewrite" url="ClearExternalPlaySeekMute.swf" />
        </rule>
      </rules>
    </rewrite>
</system.webServer>


现在,当对代码> >资源/详细信息/ CurrasxTynalPalySkutoMut.SWF 时,它将由<代码> /CurrasxTynalPalySkutoMut.Servf .< /P>服务,我确实考虑了这一点,但当我调试本地W/IIS Express时又会如何?因为IIS Express使用的是相同的IIS二进制文件(以及完整IIS的大多数特性)。您可以使用url重写url重写是内置的IIS Express-因此,在IIS Express中完全无需执行任何操作(除了将我向您展示的部分放在您的web.config中)。对于IIS,您必须安装Url重写模块。但这和在服务器管理器中启用该功能一样简单,我实际上需要将该内容重新定向到根目录,而不是忽略文件路径。URL是在swf文件中硬编码的。这个答案是正确的,但我认为您更大的问题是您使用的是ASP.NET MVC附带的catch all路由定义,您不应该这样做。您应该更明确地定义路由,这样静态文件就可以得到服务,而不会影响路由。