XmlSiteMapProvider 클래스

정의

XmlSiteMapProvider 클래스는 SiteMapProvider 클래스에서 파생되며 ASP.NET 기본 사이트 맵 공급자입니다. 클래스는 XmlSiteMapProvider 파일 이름 확장명 .sitemap을 사용하여 XML 파일에서 사이트 맵 트리를 생성합니다.

public ref class XmlSiteMapProvider : System::Web::StaticSiteMapProvider, IDisposable
public class XmlSiteMapProvider : System.Web.StaticSiteMapProvider, IDisposable
type XmlSiteMapProvider = class
    inherit StaticSiteMapProvider
    interface IDisposable
Public Class XmlSiteMapProvider
Inherits StaticSiteMapProvider
Implements IDisposable
상속
구현

설명

클래스는 XmlSiteMapProvider 알려진 스키마 뒤에 있는 XML 파일에서 사이트 맵 데이터를 로드합니다. 사이트 맵 데이터는 태그로 <siteMap> 제한되며 중첩된 <siteMapNode> 태그로 구성됩니다. 두 제약 조건은 사이트 맵 데이터의 구조에 대한 클래스 및 SiteMapProvider 클래스에 의해 XmlSiteMapProvider 적용됩니다.

  • 루트 노드는 하나만 존재할 수 있습니다.

  • URL을 지정하는 개체의 경우 SiteMapNode URL은 공급자 범위 내에서 고유해야 합니다. (URL을 지정하지 않는 노드의 경우 모든 키는 고유해야 합니다.)

다음 코드 예제에서는 와 함께 사용할 수 있는 XML 파일의 예제를 보여 있습니다 XmlSiteMapProvider.

<siteMap>
  <siteMapNode title="RootNode" description="This is the root node of the site map. There can be only one root node." url="Page1.aspx" >
    <siteMapNode title="ChildofRootNode" description="Descriptions do not have to be unique." url="Page2.aspx">
      <siteMapNode title="ChildOfChildNode" description="SiteMapNode objects can be nested to any level." url="Page3.aspx"/>
    </siteMapNode>
    <siteMapNode title="ChildofRootNode" description="Descriptions do not have to be unique." url="Page4.aspx"/>
  </siteMapNode>
</siteMap>

XmlSiteMapProvider ASP.NET 기본 공급자이며 ASP.NET 애플리케이션의 디렉터리 구조 내에 있는 Web.sitemap 파일에서 XML 데이터를 읽습니다. 기본적으로 Web.sitemap 파일은 애플리케이션 루트에 있습니다. 그러나 데이터를 로드하는 파일 XmlSiteMapProvider 의 이름이나 위치를 변경하려는 경우 Web.config 파일의 기본 구성을 재정의할 수 있습니다. Web.config 파일의 기본 구성 설정을 재정의하여 필요에 따라 각 ASP.NET 애플리케이션에 XmlSiteMapProvider 동작을 조정할 수 있습니다.

다음 코드 예제에서는 Web.config 파일 예제를 보여 줍니다. 여기서 XmlSiteMapProvider 는 여전히 사용되지만 다른 사이트 맵 파일이 사용됩니다. SiteMapProviderCollection 개체의 모든 공급자는 고유하게 이름을 지정해야 하므로 Web.config 파일에 지정된 공급자는 기본값이 아닌 이름을 사용하지만 기본 ASP.NET 구성에 지정된 XmlSiteMapProvider 대신 사용할 수 있도록 기본 공급자로도 설정됩니다.

메모

사이트 탐색 데이터 파일의 이름을 변경할 수 있지만 확장명은 변경할 수 없습니다. XmlSiteMapProvider 파일 이름 확장명 .sitemap으로 명명된 파일에서만 데이터를 읽습니다.

<siteMap defaultProvider="MyXmlSiteMapProvider" enabled="true">
  <providers>
    <add name="MyXmlSiteMapProvider"
      description="SiteMap provider that reads in .sitemap files."
      type="System.Web.XmlSiteMapProvider, System.Web, Version=2.0.3600.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"
      siteMapFile="CustomWeb.sitemap" />
  </providers>
</siteMap>

생성자

Name Description
XmlSiteMapProvider()

클래스의 명명되지 않은 새 인스턴스를 XmlSiteMapProvider 만듭니다.

속성

Name Description
CurrentNode

현재 요청된 SiteMapNode 페이지를 나타내는 개체를 가져옵니다.

CurrentNode

현재 요청된 SiteMapNode 페이지를 나타내는 개체를 가져옵니다.

(다음에서 상속됨 SiteMapProvider)
Description

관리 도구 또는 기타 UI(사용자 인터페이스)에 표시하기에 적합한 짧고 친숙한 설명을 가져옵니다.

(다음에서 상속됨 ProviderBase)
EnableLocalization

특성의 SiteMapNode 지역화된 값이 반환되는지 여부를 나타내는 부울 값을 가져오거나 설정합니다.

(다음에서 상속됨 SiteMapProvider)
Name

구성 중에 공급자를 참조하는 데 사용되는 이름을 가져옵니다.

(다음에서 상속됨 ProviderBase)
ParentProvider

현재 공급자의 부모 SiteMapProvider 개체를 가져오거나 설정합니다.

(다음에서 상속됨 SiteMapProvider)
ResourceKey

특성을 지역화하는 SiteMapNode 데 사용되는 리소스 키를 얻거나 설정합니다.

(다음에서 상속됨 SiteMapProvider)
RootNode

사이트 맵의 루트 노드를 가져옵니다.

RootProvider

현재 공급자 계층의 루트 SiteMapProvider 개체를 가져옵니다.

(다음에서 상속됨 SiteMapProvider)
SecurityTrimmingEnabled

사이트 맵 공급자가 사용자의 역할에 따라 사이트 맵 노드를 필터링하는지 여부를 나타내는 부울 값을 가져옵니다.

(다음에서 상속됨 SiteMapProvider)

메서드

Name Description
AddNode(SiteMapNode, SiteMapNode)

SiteMapNode 현재 공급자가 유지 관리하는 컬렉션에 개체를 추가합니다.

AddNode(SiteMapNode)

SiteMapNode 사이트 맵 공급자가 유지 관리하는 노드 컬렉션에 개체를 추가합니다.

(다음에서 상속됨 SiteMapProvider)
AddProvider(String, SiteMapNode)

자식 사이트 맵 공급자를 현재 공급자에 연결합니다.

BuildSiteMap()

XML 파일에서 사이트 맵 정보를 로드하고 메모리에 빌드합니다.

Clear()

개체가 내부적으로 해당 상태의 일부로 추적하는 자식 및 부모 사이트 맵 노드 및 사이트 맵 공급자 XmlSiteMapProvider 컬렉션의 모든 요소를 제거합니다.

Dispose()

Web.sitemap 파일의 파일 모니터에 개체가 XmlSiteMapProvider 더 이상 파일을 모니터링할 필요가 없음을 알 수 있습니다.

Dispose(Boolean)

Web.sitemap 파일의 파일 모니터에 개체가 XmlSiteMapProvider 더 이상 파일을 모니터링할 필요가 없음을 알 수 있습니다. 이 메서드는 Dispose(Boolean) 사용자 코드에서 메서드를 호출하는지 여부를 나타내는 부울 매개 변수를 사용합니다.

Equals(Object)

지정된 개체가 현재 개체와 같은지 여부를 확인합니다.

(다음에서 상속됨 Object)
FindSiteMapNode(HttpContext)

지정된 개체를 SiteMapNode 사용하여 현재 요청된 HttpContext 페이지를 나타내는 개체를 검색합니다.

(다음에서 상속됨 SiteMapProvider)
FindSiteMapNode(String)

지정된 URL에서 SiteMapNode 페이지를 나타내는 개체를 검색합니다.

FindSiteMapNodeFromKey(String)

SiteMapNode 지정된 키를 기반으로 개체를 검색합니다.

GetChildNodes(SiteMapNode)

사이트 맵의 자식 노드를 반환합니다.

GetChildNodes(SiteMapNode)

특정 SiteMapNode 개체의 자식 사이트 맵 노드를 검색합니다.

(다음에서 상속됨 StaticSiteMapProvider)
GetCurrentNodeAndHintAncestorNodes(Int32)

현재 요청된 페이지의 노드를 검색하고 현재 페이지에 대한 부모 및 상위 사이트 맵 노드를 가져올 때 사이트 맵 공급자에게 최적화된 조회 방법을 제공합니다.

(다음에서 상속됨 SiteMapProvider)
GetCurrentNodeAndHintNeighborhoodNodes(Int32, Int32)

현재 요청된 페이지의 노드를 검색하고 현재 노드의 근접에서 사이트 맵 노드를 가져올 때 사이트 맵 공급자에게 최적화된 조회 방법을 제공합니다.

(다음에서 상속됨 SiteMapProvider)
GetHashCode()

기본 해시 함수로 사용됩니다.

(다음에서 상속됨 Object)
GetParentNode(SiteMapNode)

사이트 맵의 부모 노드를 반환합니다.

GetParentNode(SiteMapNode)

특정 SiteMapNode 개체의 부모 사이트 맵 노드를 검색합니다.

(다음에서 상속됨 StaticSiteMapProvider)
GetParentNodeRelativeToCurrentNodeAndHintDownFromParent(Int32, Int32)

현재 요청된 페이지의 상위 노드를 검색하고 상위 항목에 대한 하위 노드를 가져올 때 사이트 맵 공급자에게 최적화된 조회 방법을 제공합니다.

(다음에서 상속됨 SiteMapProvider)
GetParentNodeRelativeToNodeAndHintDownFromParent(SiteMapNode, Int32, Int32)

지정된 개체에 대한 상위 노드를 검색하고 자식 노드를 가져올 때 사이트 맵 공급자에게 최적화된 SiteMapNode 조회 방법을 제공합니다.

(다음에서 상속됨 SiteMapProvider)
GetRootNodeCore()

현재 사이트 맵 데이터 구조의 최상위 노드를 검색합니다.

GetType()

현재 인스턴스의 Type 가져옵니다.

(다음에서 상속됨 Object)
HintAncestorNodes(SiteMapNode, Int32)

사이트 맵 공급자가 지정된 SiteMapNode 개체를 기준으로 하나 이상의 상위 및 상위 노드 수준에 대해 최적화된 검색을 수행하도록 재정의할 수 있는 메서드를 제공합니다.

(다음에서 상속됨 SiteMapProvider)
HintNeighborhoodNodes(SiteMapNode, Int32, Int32)

사이트 맵 공급자가 지정된 노드의 근접에 있는 노드의 최적화된 검색을 수행하도록 재정의할 수 있는 메서드를 제공합니다.

(다음에서 상속됨 SiteMapProvider)
Initialize(String, NameValueCollection)

초기화는 XmlSiteMapProvider 개체입니다. 이 메서드는 Initialize(String, NameValueCollection) 실제로 사이트 맵을 빌드하지 않고 수행할 상태 XmlSiteMapProvider 만 준비합니다.

IsAccessibleToUser(HttpContext, SiteMapNode)

지정된 컨텍스트에서 사용자가 지정한 SiteMapNode 개체를 볼 수 있는지 여부를 나타내는 부울 값을 검색합니다.

(다음에서 상속됨 SiteMapProvider)
MemberwiseClone()

현재 Object단순 복사본을 만듭니다.

(다음에서 상속됨 Object)
RemoveNode(SiteMapNode)

공급자가 추적하는 모든 노드 컬렉션에서 지정된 SiteMapNode 개체를 제거합니다.

RemoveProvider(String)

현재 공급자의 계층 구조에서 연결된 자식 사이트 맵 공급자를 제거합니다.

ResolveSiteMapNode(HttpContext)

SiteMapResolve 이벤트를 발생시킵니다.

(다음에서 상속됨 SiteMapProvider)
ToString()

현재 개체를 나타내는 문자열을 반환합니다.

(다음에서 상속됨 Object)

이벤트

Name Description
SiteMapResolve

속성이 호출되면 CurrentNode 발생합니다.

(다음에서 상속됨 SiteMapProvider)

적용 대상

추가 정보