加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

asp.net – 无法弄清楚如何将我的NON-MVC站点从sitemap.xml路由

发布时间:2020-12-16 06:46:48 所属栏目:asp.Net 来源:网络整理
导读:在搜索谷歌时,MVC网站的唯一解决方案就出现了.我的asp.net 4.0站点不是MVC.我希望对sitemap.xml的请求加载另一个动态.aspx页面,以便我可以动态生成谷歌链接. 我花了几个小时搜索,如果你知道我在哪里可以找到答案,请告诉我. 我试过用 RouteTable.Routes.Add("
在搜索谷歌时,MVC网站的唯一解决方案就出现了.我的asp.net 4.0站点不是MVC.我希望对sitemap.xml的请求加载另一个动态.aspx页面,以便我可以动态生成谷歌链接.

我花了几个小时搜索,如果你知道我在哪里可以找到答案,请告诉我.

我试过用

RouteTable.Routes.Add("SitemapRoute",new Route("sitemap.xml",new PageRouteHandler("~/sitemap.aspx")))

解决方法

您的代码是正确的,应该放在Global.asax的Application_Start方法中.例如:

void Application_Start(object sender,EventArgs e) 
{
    RouteTable.Routes.Add(new Route(
        "sitemap.xml",new PageRouteHandler("~/sitemap.aspx")));
}

但是,您还需要确保ASP.NET处理* .xml文件.默认情况下,* .xml文件将由IIS提供,而不由ASP.NET处理.要确保它们由ASP.NET处理,您可以:

1)在web.config中的system.webServer元素上指定runAllManagedModulesForAllRequests =“true”:

<system.webServer>
    <modules runAllManagedModulesForAllRequests="true">
    </modules>
</system.webServer>

或2)为.xml文件添加“处理程序映射”:

<system.webServer>
    <handlers>
      <add name="xml-file-handler" path="*.xml" type="System.Web.UI.PageHandlerFactory"
           verb="*" />
    </handlers>
  </system.webServer>

我在一个示例ASP.NET(非MVC)项目中对此进行了测试,并且能够使路由按指定的方式工作.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读