SiteMapProvider.GetCurrentNodeAndHintNeighborhoodNodes(Int32, Int32) メソッド


現在要求されているページのノードを検索し、現在のノードの近くのサイト マップ ノードをフェッチする際、サイト マップ プロバイダーに最適化された検索メソッドを提供します。Provides an optimized lookup method for site map providers when retrieving the node for the currently requested page and fetching the site map nodes in the proximity of the current node.

 virtual System::Web::SiteMapNode ^ GetCurrentNodeAndHintNeighborhoodNodes(int upLevel, int downLevel);
public virtual System.Web.SiteMapNode GetCurrentNodeAndHintNeighborhoodNodes (int upLevel, int downLevel);
abstract member GetCurrentNodeAndHintNeighborhoodNodes : int * int -> System.Web.SiteMapNode
override this.GetCurrentNodeAndHintNeighborhoodNodes : int * int -> System.Web.SiteMapNode
Public Overridable Function GetCurrentNodeAndHintNeighborhoodNodes (upLevel As Integer, downLevel As Integer) As SiteMapNode



フェッチする先祖 SiteMapNode 世代の数。The number of ancestor SiteMapNode generations to fetch. 0 は、先祖ノードが取得されないことを示します。-1 は、プロバイダーによってすべての先祖が取得され、キャッシュされることを示します。0 indicates no ancestor nodes are retrieved and -1 indicates that all ancestors might be retrieved and cached by the provider.


フェッチする子 SiteMapNode 世代の数。The number of child SiteMapNode generations to fetch. 0 は、子孫ノードが取得されないことを示します。-1 は、プロバイダーによってすべての子孫ノードが取得され、キャッシュされることを示します。0 indicates no descendant nodes are retrieved and a -1 indicates that all descendant nodes might be retrieved and cached by the provider.


現在要求されているページを表す SiteMapNodeSiteMapNode が見つからなかった場合、または見つかったが現在のユーザーに返すことができない場合は nullA SiteMapNode that represents the currently requested page; otherwise, null, if the SiteMapNode is not found or cannot be returned for the current user.


upLevel または downLevel が -1 未満です。upLevel or downLevel is less than -1.


GetCurrentNodeAndHintNeighborhoodNodesメソッドの既定の実装はCurrentNodeプロパティを返しますが、サイトGetCurrentNodeAndHintNeighborhoodNodesマッププロバイダーはメソッドをオーバーライドし、カスタムキャッシュ機構を使用して現在のを返すように最適化された実装を提供できます。オブジェクト、および現在SiteMapNodeのの近接部分にあるオブジェクト。SiteMapNode SiteMapNodeThe default implementation of the GetCurrentNodeAndHintNeighborhoodNodes method returns the CurrentNode property; however, site map providers can override the GetCurrentNodeAndHintNeighborhoodNodes method and provide an optimized implementation that uses custom caching mechanisms to return the current SiteMapNode object, as well as SiteMapNode objects that are in the proximity of the current SiteMapNode.

upLevelパラメーターを使用して、取得およびキャッシュする親ノードと先祖ノードのレベル数を直接の子と共に指定します。The upLevel parameter is used to specify how many levels of parent and ancestor nodes to retrieve and cache, along with their immediate children. パラメーターを使用して、現在SiteMapNodeのから取得する子孫ノードのレベル数を指定します。 downLevelThe downLevel parameter is used to specify how many levels of descendant nodes from the current SiteMapNode to retrieve. 優先する場合、先祖ノードと子孫ノードは、によっSiteMapNodeて返されるにリンクできます。If preferred, the ancestor and descendant nodes can be linked to the SiteMapNode that is returned by the

GetCurrentNodeAndHintNeighborhoodNodesメソッド。プロパティParentNodeChildNodesプロパティを使用します。GetCurrentNodeAndHintNeighborhoodNodes method, using the ParentNode and ChildNodes properties. またはupLevel downLevelで指定されている先祖または子ノードのレベルがより小さい場合は、使用できるものだけが取得されます。If there are fewer ancestor or child node levels than are specified by upLevel or downLevel, only those that are available are retrieved.

ASP.NET の既定のサイトマッププロバイダーであるXmlSiteMapProvider SiteMapNode クラスは、サイトマップ全体をメモリ内にキャッシュします。これにより、特定のオブジェクトのに対してクエリを実行した場合、オーバーヘッドがほとんど発生XmlSiteMapProviderしません。The XmlSiteMapProvider class, which is the default site map provider for ASP.NET, caches the entire site map in memory, which results in little or no overhead when querying the XmlSiteMapProvider for specific SiteMapNode objects.