各位大侠,我在学习《ASP.NET2.0揭秘》的过程中遇到一个示例,执行总是错误。总是提示:“在建立与服务器的连接时出错。”可是这个示例并没用用到数据库。请各位能帮忙测试一下好吗?不胜感激。配置文件Web.config源码是:<?xml version="1.0"?>
<configuration xmlns="http://schemas.microsoft.com/.NetConfiguration/v2.0">
<system.web> <authentication mode="Windows" />
<roleManager enabled="true" /> <siteMap defaultProvider="MySiteMapProvider">
<providers>
<add
name="MySiteMapProvider"
type="System.Web.XmlSiteMapProvider"
securityTrimmingEnabled="true"
siteMapFile="Web.sitemap" /> </providers>
</siteMap> </system.web>
</configuration>
站点地图文件Web.sitemap源码是:<?xml version="1.0" encoding="utf-8" ?>
<siteMap xmlns="http://schemas.microsoft.com/AspNet/SiteMap-File-1.0" >
<siteMapNode
url="Default.aspx"
title="Home"
description="The Home Page">
<siteMapNode
url="Products/Default.aspx"
title="Our Products"
description="Products that we offer">
<siteMapNode
url="Products/FirstProduct.aspx"
title="First Product"
description="The description of the First Product" />
<siteMapNode
url="Products/SecondProduct.aspx"
title="Second Product"
description="The description of the Second Product" />
</siteMapNode>
<siteMapNode
url="Services/Default.aspx"
title="Our Services"
description="Services that we offer">
<siteMapNode
url="Services/FirstService.aspx"
title="First Service"
description="The description of the First Service"
metaDescription="The first service" />
<siteMapNode
url="Services/SecondService.aspx"
title="Second Service"
description="The description of the Second Service"
metaDescription="The second service" />
</siteMapNode>
<siteMapNode
siteMapFile="Employees/Employees.sitemap" />
<siteMapNode
url="Admin"
title="Admin"
description="Administrative Pages">
<siteMapNode
url="Admin/DeleteWebsite.aspx"
title="Delete Website"
description="Deletes entire Website" />
</siteMapNode>
<siteMapNode
title="External Links"
description="Links to external Websites"
roles="RoleA,RoleB,RoleC">
<siteMapNode
title="Google"
url="http://www.Google.com"
description="The Google Website"
roles="RoleA" />
<siteMapNode
title="Microsoft"
url="http://www.Microsoft.com"
description="The Microsoft Website"
roles="RoleB" />
<siteMapNode
title="Yahoo"
url="http://www.Yahoo.com"
description="The Yahoo Website"
roles="RoleC" />
</siteMapNode>
</siteMapNode>
</siteMap>aspx页面源码是:<%@ Page Language="C#" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<script runat="server"> void Page_Load()
{
if (!Page.IsPostBack)
{
foreach (ListItem item in cblSelectRoles.Items)
if (!Roles.RoleExists(item.Text))
{
Roles.CreateRole(item.Text);
Roles.AddUserToRole(User.Identity.Name, item.Text);
}
}
}
protected void btnSelect_Click(object sender, EventArgs e)
{
foreach (ListItem item in cblSelectRoles.Items)
{
if (item.Selected)
{
if (!User.IsInRole(item.Text))
Roles.AddUserToRole(User.Identity.Name, item.Text);
}
else
{
if (User.IsInRole(item.Text))
Roles.RemoveUserFromRole(User.Identity.Name, item.Text);
}
}
Response.Redirect(Request.Path);
}
void Page_PreRender()
{
foreach (ListItem item in cblSelectRoles.Items)
item.Selected = User.IsInRole(item.Text);
}
</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head id="Head1" runat="server">
<style type="text/css">
html
{
background-color:silver;
}
.column
{
float:left;
width:300px;
border:Solid 1px black;
background-color:white;
padding:10px;
}
</style>
<title>Show Security Trimming</title>
</head>
<body>
<form id="form1" runat="server">
<div class="column">
<asp:Label
id="lblSelectRoles"
Text="Select Roles:"
AssociatedControlID="cblSelectRoles"
Runat="server" />
<br />
<asp:CheckBoxList
id="cblSelectRoles"
Runat="server">
<asp:ListItem Text="RoleA" />
<asp:ListItem Text="RoleB" />
<asp:ListItem Text="RoleC" />
</asp:CheckBoxList>
<asp:Button
id="btnSelect"
Text="Select"
OnClick="btnSelect_Click"
Runat="server" />
</div>
<div class="column">
<asp:TreeView
id="TreeView1"
DataSourceID="srcSiteMap"
Runat="server" />
<asp:SiteMapDataSource
id="srcSiteMap"
Runat="server" />
</div>
</form>
</body>
</html>
<configuration xmlns="http://schemas.microsoft.com/.NetConfiguration/v2.0">
<system.web> <authentication mode="Windows" />
<roleManager enabled="true" /> <siteMap defaultProvider="MySiteMapProvider">
<providers>
<add
name="MySiteMapProvider"
type="System.Web.XmlSiteMapProvider"
securityTrimmingEnabled="true"
siteMapFile="Web.sitemap" /> </providers>
</siteMap> </system.web>
</configuration>
站点地图文件Web.sitemap源码是:<?xml version="1.0" encoding="utf-8" ?>
<siteMap xmlns="http://schemas.microsoft.com/AspNet/SiteMap-File-1.0" >
<siteMapNode
url="Default.aspx"
title="Home"
description="The Home Page">
<siteMapNode
url="Products/Default.aspx"
title="Our Products"
description="Products that we offer">
<siteMapNode
url="Products/FirstProduct.aspx"
title="First Product"
description="The description of the First Product" />
<siteMapNode
url="Products/SecondProduct.aspx"
title="Second Product"
description="The description of the Second Product" />
</siteMapNode>
<siteMapNode
url="Services/Default.aspx"
title="Our Services"
description="Services that we offer">
<siteMapNode
url="Services/FirstService.aspx"
title="First Service"
description="The description of the First Service"
metaDescription="The first service" />
<siteMapNode
url="Services/SecondService.aspx"
title="Second Service"
description="The description of the Second Service"
metaDescription="The second service" />
</siteMapNode>
<siteMapNode
siteMapFile="Employees/Employees.sitemap" />
<siteMapNode
url="Admin"
title="Admin"
description="Administrative Pages">
<siteMapNode
url="Admin/DeleteWebsite.aspx"
title="Delete Website"
description="Deletes entire Website" />
</siteMapNode>
<siteMapNode
title="External Links"
description="Links to external Websites"
roles="RoleA,RoleB,RoleC">
<siteMapNode
title="Google"
url="http://www.Google.com"
description="The Google Website"
roles="RoleA" />
<siteMapNode
title="Microsoft"
url="http://www.Microsoft.com"
description="The Microsoft Website"
roles="RoleB" />
<siteMapNode
title="Yahoo"
url="http://www.Yahoo.com"
description="The Yahoo Website"
roles="RoleC" />
</siteMapNode>
</siteMapNode>
</siteMap>aspx页面源码是:<%@ Page Language="C#" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<script runat="server"> void Page_Load()
{
if (!Page.IsPostBack)
{
foreach (ListItem item in cblSelectRoles.Items)
if (!Roles.RoleExists(item.Text))
{
Roles.CreateRole(item.Text);
Roles.AddUserToRole(User.Identity.Name, item.Text);
}
}
}
protected void btnSelect_Click(object sender, EventArgs e)
{
foreach (ListItem item in cblSelectRoles.Items)
{
if (item.Selected)
{
if (!User.IsInRole(item.Text))
Roles.AddUserToRole(User.Identity.Name, item.Text);
}
else
{
if (User.IsInRole(item.Text))
Roles.RemoveUserFromRole(User.Identity.Name, item.Text);
}
}
Response.Redirect(Request.Path);
}
void Page_PreRender()
{
foreach (ListItem item in cblSelectRoles.Items)
item.Selected = User.IsInRole(item.Text);
}
</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head id="Head1" runat="server">
<style type="text/css">
html
{
background-color:silver;
}
.column
{
float:left;
width:300px;
border:Solid 1px black;
background-color:white;
padding:10px;
}
</style>
<title>Show Security Trimming</title>
</head>
<body>
<form id="form1" runat="server">
<div class="column">
<asp:Label
id="lblSelectRoles"
Text="Select Roles:"
AssociatedControlID="cblSelectRoles"
Runat="server" />
<br />
<asp:CheckBoxList
id="cblSelectRoles"
Runat="server">
<asp:ListItem Text="RoleA" />
<asp:ListItem Text="RoleB" />
<asp:ListItem Text="RoleC" />
</asp:CheckBoxList>
<asp:Button
id="btnSelect"
Text="Select"
OnClick="btnSelect_Click"
Runat="server" />
</div>
<div class="column">
<asp:TreeView
id="TreeView1"
DataSourceID="srcSiteMap"
Runat="server" />
<asp:SiteMapDataSource
id="srcSiteMap"
Runat="server" />
</div>
</form>
</body>
</html>
http://tonyqus.cnblogs.com/archive/2005/12/02/288886.html