ASP.NET 网站导航提供者

默认时,ASP.NET 网站导航与名为 Web.sitemap 的 XML 文件一起工作,从而对 Web 站点的层次结构进行描述。但是,也可以使用其他方式来描述网站信息,如数据库,或与 Web.sitemap 文件拥有不同结构布局的网站地图文件。

ASP.NET 如何使用网站导航提供者

跟 ASP.NET 成员关系,ASP.NET Web Parts 个性化,以及其他 ASP.NET 特征一样,ASP.NET 网站导航需要通过提供者才能够与数据存储进行交互。默认的提供者从 Web.sitemap 文件中读取数据并由文件直接创造 SiteMap 对象(如 TreeView 控件,SiteMapPath 控件,以及自定义控件)。

如果需要把网站地图信息保存到网站地图文件以外的位置,就需要创建自定义提供者并对应用程序进行配置以便对自定义提供者进行调用。通过 Web.config 文件可以对网站地图提供者进行配置。当应用程序运行时,ASP.NET 就会调用能够根据需要获取网站地图信息的自定义提供者。然后 ASP.NET 会基于自定义提供者所返回的信息创建 SiteMapNode 对象集并分配相应的系统资源。同时这些对象还可以使用 SiteMap 对象进行可编程访问。

安全提示:实现自定义网站地图提供者并将网站地图数据保存在非 .sitemap 扩展名的文件时潜在有一个安全隐患。默认时的 ASP.NET 配置会在客户端下载之前对含有已知扩展名(如 .sitemap)的文件进行保护。为了保护网站数据,请将非 .sitemap 扩展名的自定义网站地图文件存放到 App_Data 目录中。

你可能感兴趣的:(asp.net)