【问题标题】:MVC5 Attribute Routing with file extension带有文件扩展名的 MVC5 属性路由
【发布时间】:2014-01-19 12:42:32
【问题描述】:

基本上,我正在尝试使用新的 MVC5 路由属性将 /sitemap.xml 重定向到我需要动态创建的方法。

// GET: /sitemap.xml
[Route("sitemap.xml")]
public ActionResult SiteMap()
{
    // Stuff
}

目前这不起作用,是否可以这样做,还是我必须像以前一样使用路由表?

routes.MapRoute(
   name: "Site Map",
   url: "sitemap.xml",
   defaults: new { controller = "Default", action = "SiteMap" });

【问题讨论】:

  • 我已经添加了
  • 好吧,我以前用过它,结果是正确的。您可以尝试使用 runAllManagedHandlers 标志进行故障排除。如果这不起作用,那么某处有些奇怪。
  • 我认为您在控制器级别没有路由前缀,所以它不是 /sitemap.xml 而是 /abcd/sitemap.xml ?

标签: c# asp.net-mvc asp.net-mvc-routing asp.net-mvc-5


【解决方案1】:

将此添加到您的 web.config:

 <system.webServer>
 <handlers>
      <add name="ManagedDllExtension" path="*.xml" verb="GET" type="System.Web.Handlers.TransferRequestHandler" preCondition="integratedMode,runtimeVersionv4.0" />
    </handlers>
</system.webServer>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-04-05
    • 1970-01-01
    • 2016-01-12
    • 2013-04-26
    • 2014-04-15
    • 2019-06-26
    相关资源
    最近更新 更多