2017-08-03 19 views
1

分散mvc asp.net Webアプリケーションがあります。アプリケーションのUIはさまざまなコンポーネントに分かれており、各コンポーネントには異なるホスト値があります。つまり、アプリケーションのUIのさまざまな部分に異なるURLがあります。異なるコンポーネント間で共有される単一のXMLサイトマップファイルがあります。サイトマップ内のノードは相対URLと属性を使用して、使用するホスト値を指定し、ホスト値は構成ファイルに格納されます。これは、アプリケーションがいくつかの異なる環境に存在し、完全修飾URLをサイトマップは実用的ではありません。MvcSiteMapProvider - ノードURLを変更する

サイトマップノードがナビゲーションリンクにレンダリングされた場合、正しいホストを使用して完全修飾されるようにノードのURLを変更する必要があります。私は簡単に.net SiteMapNodeクラスでこれを行うことができます。

私の問題は、MvcSiteMapProviderと同様のことをする必要があることです。私は今まで運がなかった。提案は大歓迎です。

答えて

0

私は、hereというアプローチを試しています。つまり、カスタムISiteMapNodeUrlResolverを使用しています。

既定の実装では、xmlサイトマップファイルの任意で指定されたhostName属性でホスト名が置き換えられています。私のカスタム実装では、構成設定に基づいて実行時の変更を行うために、hostName属性に基づいて構成設定を調べました。

これまでのところ、必要に応じて動作しているようです。

関連する問題