但是,您可能要使用多个
站点地图文件或站点
地图提供程序来描述整个网站的导航结构。若要为一个站点配置多个站点地图,请从
应用程序根目录中的站点地图开始。然后,在 Web.config 文件中将根提供程序配置为默认站点地图提供程序。最后,在 SiteMapNode 对象中引用子站点地图或提供程序,从而链接到这些地图或提供程序,如下面的两个示例所示。从父站点地图链接到子站点地图文件在父站点地图的导航结构中,在要显示子站点地图的位置创建一个 SiteMapNode。例如,如果使用的是默认的 XmlSiteMapProvider,则将下面的 SiteMapNode 添加到 Web.sitemap 文件的相应位置。 注意siteMapFile 属性可以采取下面的某一种形式:一个与应用程序相关的引用,如 ~/MySiteMap.sitemap。一个虚拟路径,如 /Customers/MySiteMap.sitemap。一个相对于当前站点地图文件位置的路径引用,如 Guests/MySiteMap.sitemap。有关创建站点地图文件的更多信息,请参见 ASP.NET 站点地图。从父站点地图链接到自定义站点地图提供程序在父站点地图的导航结构中,在要显示子站点地图的位置创建一个 SiteMapNode。例如,如果使用的是默认的 XmlSiteMapProvider,则打开您的 Web.sitemap 文件并将下面的 SiteMapNode 添加到层次结构中的相应位置。 注意provider 属性与 Web.config 文件中的提供程序的 name 属性相对应。必须使用 add 属性将自定义站点地图提供程序添加到 Web.config 文件中。下面的代码添加名为 SimpleTextSiteMapProvider 的自定义提供程序,但保持 XmlSiteMapProvider 作为默认站点地图提供程序。有关创建自定义站点地图提供程序的更多信息,请参见实现ASP.NET 站点地图提供程序。在Web.config 文件中配置多个站点地图如上述两个示例所示,将站点地图链接在一起可以从许多块地图生成一个站点地图结构。或者,您还可以在 Web.config 文件中添加对不同站点地图的引用,就是使它们看起来像是不同的提供程序。在网站的不同区域需要不同的导航结构时,这十分有用。在Web.config 文件中配置多个站点地图在Web.config 文件中,找到 部分。如果该部分不存在,则使用下面的代码。否则,只需插入 部分。 假定存在 ~/Company1/Company1.sitemap 和 ~/Company2/Company2.sitemap 文件,则您现在可以将它们与导航 API 成员和导航控件(如 SiteMapPath、TreeView 和Menu)一起使用,方法是将相关的 SiteMapProvider 属性设置为 Company1SiteMap 或Company2SiteMap。虚拟目录和应用程序的区别
在Windows7IIS7中,对服务器建立站点后,有二种添加子站点的方式
A.虚拟目录
B.应用程序
简单总结下二者之间的异同
A.虚拟目录
虚拟目录是指在站点下建立一个虚拟子目录,指定一个固定的物理路径做为站点的应用路径。
1.虚拟目录与父级站点共用一个应用程序池
例如:站点TestWeb(c:\Inetpub\wwwroot\TestWeb)下建立了SubTestA(D:\SubTestA)的虚拟目录
若TestWeb为设定了FrameworkV2.0,则SubTestA也必须是FrameworkV2.0的应用程序,否则将给带来Framework不匹配的各种错误。
2.虚拟目录必须将可执行文件(dll等)放置在父级站点的bin目录下。
3.虚拟目录中的web.config文件继承父级站点的web.config.
就是说如果父级站点声明过的引用,在虚拟目录下的web.config中不应重复声明
4.虚拟目录中的应用其根目录为父级站点的根目录
5.虚拟目录中的AppSetting.config设置应使用相对路径来进行引用。
B.应用程序
应用程序是指在父级目录下建立了一个单独的应用程序,独享应用程序池
1.应用程序可以与父级站点拥有不同的应用程序池
即可以达到TestWeb为FrameworkV2.0,而SubTestA可以是FrameworkV4.0,二者互不影响
2.SubTestA的可执行文件独立的放置在根目录下的bin中,不能放置在WebTest的bin目录中
3.SubTestA的web.config独立于WebTest的web.config
4.SubTestA中的应用其根目录为父级站点的根目录
5.虚拟目录中的AppSetting.config设置应使用相对路径来进行引用。
应用程序是建立在虚拟目录的基础之上,而应用程序独立于父级站点拥有独立的程序运行机制,这让同一站点拥有了运行不同框架集而不相互影响的能力,实际运用中需要根据不同的情况来选择虚拟目录或应用程序
评论列表(0条)