首页 文章

ASP.NET MVC路由在网站'top level'上提供文件?

提问于
浏览
1

我是ASP.NET [MVC]的绝对初学者,所以这可能是一个愚蠢的问题 .

我想将网址“http://localhost/clientaccesspolicy.xml”连接到特定的控制器操作 . 我怎么能这样做?

我也想知道如何静态地为这个网址提供文件 .

(我能够通过将其添加为项目顶层的“内容”文件来静态提供文件) .

2 回答

  • 3

    这应该这样做,所以你所有的其他路线保持不变......而你不需要控制器动作 .

    routes.RouteExistingFiles = true;
    
    routes.IgnoreRoute("clientaccesspolicy.xml");
    
  • 2

    你可以完成这个添加:

    routes.RouteExistingFiles = true;
    

    高于你所有其他路线 . 然后加:

    routes.MapRoute(null, "clientaccesspolicy.xml", new { controller = "Foo", action = "Whatever" });
    

    这应该有效,但我会警告你,这通常不是一个好主意 . 这样做是告诉MVC路由系统停止提供磁盘上匹配的文件 . 这将包括你的图像,CSS,脚本等 . 这将为你做更多的工作,而不是我想象的 .

相关问题