【问题标题】:MvcSiteMapProvider - modify node urlMvcSiteMapProvider - 修改节点 url
【发布时间】:2017-08-03 13:03:28
【问题描述】:

我有一个分布式 mvc asp.net Web 应用程序。应用程序的 UI 被拆分为不同的组件,每个组件都有不同的主机值,这意味着应用程序对于 UI 的不同部分有不同的 URL。有一个在不同组件之间共享的 XML 站点地图文件。站点地图中的节点使用相对 URL 和指示应该使用什么主机值的属性,主机值存储在配置文件中 - 这是因为应用程序存在于几个不同的环境中,因此在站点地图不实用。

鉴于所有这些,当站点地图节点在某个导航链接中呈现时,我必须修改节点的 URL 以使其使用正确的主机完全限定。我可以使用 .net SiteMapNode 类轻松地做到这一点。

我的问题是我需要对MvcSiteMapProvider 做类似的事情。到目前为止,我还没有多少运气。欢迎提出建议。

【问题讨论】:

    标签: c# asp.net asp.net-mvc mvcsitemapprovider


    【解决方案1】:

    我正在尝试here 讨论的方法,即使用自定义 ISiteMapNodeUrlResolver。

    默认实现已将主机名替换为 xml 站点地图文件中可选提供的 hostName 属性。在我的自定义实现中,我查找了基于 hostName 属性的配置设置,以根据配置设置进行运行时修改。

    到目前为止,它似乎按需要工作。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多