Класс SwitchableSiteMapProvider

Предоставляет способ для настройки переходов веб-узла для определения экземпляра SiteMapProvider , который должен использоваться при отрисовке страницы.

Иерархия наследования

System.Object
  System.Configuration.Provider.ProviderBase
    System.Web.SiteMapProvider
      Microsoft.SharePoint.Publishing.Navigation.SwitchableSiteMapProvider

Пространство имен:  Microsoft.SharePoint.Publishing.Navigation
Сборка:  Microsoft.SharePoint.Publishing (в Microsoft.SharePoint.Publishing.dll)

Синтаксис

'Декларация
<SharePointPermissionAttribute(SecurityAction.LinkDemand, ObjectModel := True)> _
Public NotInheritable Class SwitchableSiteMapProvider _
    Inherits SiteMapProvider _
    Implements IEditableSiteMapProvider
'Применение
Dim instance As SwitchableSiteMapProvider
[SharePointPermissionAttribute(SecurityAction.LinkDemand, ObjectModel = true)]
public sealed class SwitchableSiteMapProvider : SiteMapProvider, 
    IEditableSiteMapProvider

Замечания

Класс SwitchableSiteMapProvider позволяет классу SiteMapProvider перенаправлен во время выполнения в соответствии с WebNavigationSettings данные, которые хранятся в свойствах объекта SPWeb .

SwitchableSiteMapProvider предоставляет способ для одной главной страницы для поддержки нескольких конфигураций различные возможности переходов. При создании главной страницы для определенного веб-сайта, может быть известно, какой поставщик переходов будут использоваться и много сложности можно избежать, указав его непосредственно в главной странице. Например AspMenu элемент управления можно привязать к источнику данных, например элемент управления PortalSiteMapDataSource , который указывает имя, такое как "GlobalNavigation", который ссылается на экземпляр SiteMapProvider из файла web.config. Эта цепочка представлен в разметке главной страницы и включает только два элемента управления ASP.NET .

Напротив главную страницу стандартной системы основывается на двух различных условий коммутации для поддерживает три различные навигационные модели. Если средство публикации навигации активен, Главная страница содержит объект DelegateControl , который по умолчанию указывает поставщика навигации, который используется для основных узлов. Если эта функция включена, этот объект DelegateControl заменяет источника данных с элементом управления PortalSiteMapDataSource , который определяется функция XML в файле TEMPLATE\FEATURES\Navigation\NigationSiteSettings.xml .

В предыдущих версиях SharePoint Serverэтот источник данных был привязан к GlobalNavigationProvider, то есть экземпляр объекта PortalSiteMapProvider . В был представлен второй коммутации условия: каждый веб-узел можно выбирать между TaxonomySiteMapProvider и PortalSiteMapProvider. Это достигается путем привязки к источнику данных для объекта SwitchableSiteMapProvider , который действует как оболочка, считывает параметры активного и передает вызовы через соответствующий поставщик.

Поскольку типы поставщика имеют очень разные варианты поведения и сценарии использования, они требуются различные параметры для свойства, такие как SiteMapDataSource.StartFromCurrentNode и SiteMapDataSource.ShowStartingNode. XML-тег SwitchableProperty позволяет внедрить эти значения свойств альтернативных внутри разметки PortalSiteMapDataSource с помощью механизмаParseChildrenAttributeASP.NETPortalSiteMapDataSource управления. Немного другой синтаксис используется для этого ограниченные возможности функции языка XML, используемые объектом DelegateControl , но не изменится.

Активные поставщика может быть определен путем вызова метода GetCurrentWrappedProvider() .

Потокобезопасность

Любые общедоступные элементы static (Shared в Visual Basic) этого типа являются потокобезопасными. Не гарантируется, что любые элементы экземпляров потокобезопасны.

См. также

Справочные материалы

Элементы SwitchableSiteMapProvider

Пространство имен Microsoft.SharePoint.Publishing.Navigation