MVC3映射到静态文件结构的路由

时间:2012-03-29 01:44:11

标签: asp.net-mvc-3 asp.net-mvc-routing

假设我有一个MVC应用程序,它根据标准/ {controller} / {action}模式路由请求。我还希望能够从嵌套目录结构中返回静态文件。例如,我想要根URL:

/MyApplication/Static/folder/subfolder/somefile.xml

返回物理位置的文件〜/ Static / folder / subfolder / somefile.xml,依此类推。

这是“MapPageRoute”方法的用途吗?如果是这样,是否可以做这样的事情?

routes.MapPageRoute("static_file_router", "Static/*", "~/Static/*")

1 个答案:

答案 0 :(得分:1)

我认为您应该使用IIS来映射它。静态文件不需要通过ASP.NET管道,并且不必要地减慢请求的速度。

MapPageRoute适用于旧版WebForms页面。

e.g。

routes.MapPageRoute("", 
                    "SalesReport/{locale}/{year}/{*queryvalues}", 
                    "~/sales.aspx");

请参阅http://msdn.microsoft.com/en-us/library/system.web.routing.routecollection.mappageroute.aspx