Поставщики в структуре переходов веб-узла ASP.NET

Visual Studio 2010

Обновлен: Ноябрь 2007

По умолчанию в структуре переходов веб-узла ASP.NET используется XML-файл (Web.sitemap), описывающий иерархию веб-узла. Однако можно представить описание веб-узла другим способом, например в файле базы данных или карты веб-узла, который имеет структуру, отличную от файла Web.sitemap.

Как и для членства ASP.NET, персонализации веб-частей ASP.NET и других функций ASP.NET, в структуре переходов веб-узла ASP.NET используются поставщики для обмена данными с хранилищем данных. По умолчанию поставщик выполняет чтение файла Web.sitemap и создает непосредственно из этого файла объект SiteMap. Объект SiteMap используется элементами управления в структуре переходов веб-узла, такими как элемент управления TreeView, SiteMapPath или пользовательский элемент управления, для отображения структуры переходов клиенту.

При необходимости хранения сведений о структуре веб-узла в расположении, отличном от файла карты веб-узла, можно создать собственный поставщик карты узла и настроить приложение на вызов пользовательского поставщика. Поставщик карты узла настраивается в файле Web.config. При запуске приложения ASP.NET вызывает поставщик, который может при необходимости извлечь сведения о структуре веб-узла. Затем ASP.NET создает и заполняет объекты SiteMapNode на основе сведений, возвращаемых поставщиком. Доступ к этим объектам может быть получен программным способом с помощью класса SiteMap. Дополнительные сведения см. в разделе Реализация поставщиков карт веб-узлов ASP.NET.

4ht3k9tx.alert_security(ru-ru,VS.100).gifПримечание о безопасности.

Реализация пользовательского поставщика карты узла, которая хранит данные о структуре веб-узла в файле с расширением SITEMAP, является потенциальной угрозой безопасности. По умолчанию сервер ASP.NET настроен так, чтобы не допускать загрузку клиентом файлов с известными расширениями, такими как SITEMAP. Чтобы защитить данные, следует помещать все пользовательские файлы с данными о структуре веб-узла с расширением, отличным от SITEMAP, в папку App_Data. Дополнительные сведения см. в разделе Безопасность системы навигации веб-узла ASP.NET.

Показ: