注意:此类在 .NET Framework 2.0 版中是新增的。
定义用于支持 Web 应用程序的角色管理基础结构的配置设置。无法继承此类。
命名空间:System.Web.Configuration
程序集:System.Web(在 system.web.dll 中)
Public NotInheritable Class RoleManagerSection
Inherits ConfigurationSection
Dim instance As RoleManagerSection
public sealed class RoleManagerSection : ConfigurationSection
public ref class RoleManagerSection sealed : public ConfigurationSection
public final class RoleManagerSection extends ConfigurationSection
public final class RoleManagerSection extends ConfigurationSection
RoleManagerSection 类提供一种以编程方式访问和修改配置文件中 roleManager 节的内容的方法。
本节提供两个代码示例。第一个演示如何以声明的方式为 RoleManagerSection 类的多个属性指定值。第二个演示如何使用 RoleManagerSection 类型。
下面的配置文件示例演示如何以声明方式为 RoleManagerSection 类的多个属性指定值。
<system.web>
<roleManager
enabled="false"
cacheRolesInCookie="false"
cookieName=".ASPXROLES" cookieTimeout="30"
cookiePath="/" cookieRequireSSL="false"
cookieSlidingExpiration="true" createPersistentCookie="false"
cookieProtection="All"
defaultProvider="AspNetSqlRoleProvider"
maxCachedResults="25" >
<providers>
<add
name="AspNetSqlRoleProvider"
connectionStringName="LocalSqlServer"
applicationName="/"
type="System.Web.Security.SqlRoleProvider, System.Web,
Version=2.0.3600.0, Culture=neutral,
PublicKeyToken=b03f5f7f11d50a3a" />
<add
name="AspNetWindowsTokenRoleProvider"
applicationName="/"
type="System.Web.Security.WindowsTokenRoleProvider, System.Web,
Version=2.0.3600.0, Culture=neutral,
PublicKeyToken=b03f5f7f11d50a3a" />
</providers>
</roleManager>
</system.web>
下面的代码示例演示如何使用 RoleManagerSection 类型。
Imports System
Imports System.Collections.Generic
Imports System.Text
Imports System.Configuration
Imports System.Web
Imports System.Web.Configuration
Namespace Samples.Aspnet.SystemWebConfiguration
Class UsingRoleManagerSection
Public Shared Sub Main()
Try
' Set the path of the config file.
Dim configPath As String = ""
' Get the Web application configuration object.
Dim config As System.Configuration.Configuration = _
System.Web.Configuration.WebConfigurationManager.OpenWebConfiguration(configPath)
' Get the section related object.
Dim configSection As System.Web.Configuration.RoleManagerSection = _
CType(config.GetSection("system.web/roleManager"), _
System.Web.Configuration.RoleManagerSection)
' Display title and info.
Console.WriteLine("ASP.NET Configuration Info")
Console.WriteLine()
' Display Config details.
Console.WriteLine("File Path: {0}", config.FilePath)
Console.WriteLine("Section Path: {0}", configSection.SectionInformation.Name)
' Display CacheRolesInCookie property.
Console.WriteLine("CacheRolesInCookie: {0}", _
configSection.CacheRolesInCookie)
' Set CacheRolesInCookie property.
configSection.CacheRolesInCookie = False
' Display CookieName property.
Console.WriteLine("CookieName: {0}", configSection.CookieName)
' Set CookieName property.
configSection.CookieName = ".ASPXROLES"
' Display CookiePath property.
Console.WriteLine("CookiePath: {0}", configSection.CookiePath)
' Set CookiePath property.
configSection.CookiePath = "/"
' Display CookieProtection property.
Console.WriteLine("CookieProtection: {0}", _
configSection.CookieProtection)
' Set CookieProtection property.
configSection.CookieProtection = _
System.Web.Security.CookieProtection.All
' Display CookieRequireSSL property.
Console.WriteLine("CookieRequireSSL: {0}", _
configSection.CookieRequireSSL)
' Set CookieRequireSSL property.
configSection.CookieRequireSSL = False
' Display CookieSlidingExpiration property.
Console.WriteLine("CookieSlidingExpiration: {0}", _
configSection.CookieSlidingExpiration)
' Set CookieSlidingExpiration property.
configSection.CookieSlidingExpiration = True
' Display CookieTimeout property.
Console.WriteLine("CookieTimeout: {0}", configSection.CookieTimeout)
' Set CookieTimeout property.
configSection.CookieTimeout = TimeSpan.FromMinutes(30)
' Display CreatePersistentCookie property.
Console.WriteLine("CreatePersistentCookie: {0}", _
configSection.CreatePersistentCookie)
' Set CreatePersistentCookie property.
configSection.CreatePersistentCookie = False
' Display DefaultProvider property.
Console.WriteLine("DefaultProvider: {0}", _
configSection.DefaultProvider)
' Set DefaultProvider property.
configSection.DefaultProvider = "AspNetSqlRoleProvider"
' Display Domain property.
Console.WriteLine("Domain: {0}", configSection.Domain)
' Set Domain property.
configSection.Domain = ""
' Display Enabled property.
Console.WriteLine("Enabled: {0}", configSection.Enabled)
' Set CookieName property.
configSection.Enabled = False
' Display the number of Providers
Console.WriteLine("Providers Collection Count: {0}", _
configSection.Providers.Count)
' Display elements of the Providers collection property.
For Each providerItem As ProviderSettings In configSection.Providers()
Console.WriteLine()
Console.WriteLine("Provider Details:")
Console.WriteLine("Name: {0}", providerItem.Name)
Console.WriteLine("Type: {0}", providerItem.Type)
Next
' Update if not locked.
If Not configSection.SectionInformation.IsLocked Then
config.Save()
Console.WriteLine("** Configuration updated.")
Else
Console.WriteLine("** Could not update, section is locked.")
End If
Catch e As Exception
' Unknown error.
Console.WriteLine(e.ToString())
End Try
' Display and wait
Console.ReadLine()
End Sub
End Class
End Namespace
#region Using directives
using System;
using System.Collections.Generic;
using System.Text;
using System.Configuration;
using System.Web;
using System.Web.Configuration;
#endregion
namespace Samples.Aspnet.SystemWebConfiguration
{
class UsingRoleManagerSection
{
static void Main(string[] args)
{
try
{
// Set the path of the config file.
string configPath = "";
// Get the Web application configuration object.
Configuration config = WebConfigurationManager.OpenWebConfiguration(configPath);
// Get the section related object.
RoleManagerSection configSection =
(RoleManagerSection)config.GetSection("system.web/roleManager");
// Display title and info.
Console.WriteLine("ASP.NET Configuration Info");
Console.WriteLine();
// Display Config details.
Console.WriteLine("File Path: {0}",
config.FilePath);
Console.WriteLine("Section Path: {0}",
configSection.SectionInformation.Name);
// Display CacheRolesInCookie property.
Console.WriteLine("CacheRolesInCookie: {0}",
configSection.CacheRolesInCookie);
// Set CacheRolesInCookie property.
configSection.CacheRolesInCookie = false;
// Display CookieName property.
Console.WriteLine("CookieName: {0}", configSection.CookieName);
// Set CookieName property.
configSection.CookieName = ".ASPXROLES";
// Display CookiePath property.
Console.WriteLine("CookiePath: {0}", configSection.CookiePath);
// Set CookiePath property.
configSection.CookiePath = "/";
// Display CookieProtection property.
Console.WriteLine("CookieProtection: {0}",
configSection.CookieProtection);
// Set CookieProtection property.
configSection.CookieProtection =
System.Web.Security.CookieProtection.All;
// Display CookieRequireSSL property.
Console.WriteLine("CookieRequireSSL: {0}",
configSection.CookieRequireSSL);
// Set CookieRequireSSL property.
configSection.CookieRequireSSL = false;
// Display CookieSlidingExpiration property.
Console.WriteLine("CookieSlidingExpiration: {0}",
configSection.CookieSlidingExpiration);
// Set CookieSlidingExpiration property.
configSection.CookieSlidingExpiration = true;
// Display CookieTimeout property.
Console.WriteLine("CookieTimeout: {0}", configSection.CookieTimeout);
// Set CookieTimeout property.
configSection.CookieTimeout = TimeSpan.FromMinutes(30);
// Display CreatePersistentCookie property.
Console.WriteLine("CreatePersistentCookie: {0}",
configSection.CreatePersistentCookie);
// Set CreatePersistentCookie property.
configSection.CreatePersistentCookie = false;
// Display DefaultProvider property.
Console.WriteLine("DefaultProvider: {0}",
configSection.DefaultProvider);
// Set DefaultProvider property.
configSection.DefaultProvider = "AspNetSqlRoleProvider";
// Display Domain property.
Console.WriteLine("Domain: {0}", configSection.Domain);
// Set Domain property.
configSection.Domain = "";
// Display Enabled property.
Console.WriteLine("Enabled: {0}", configSection.Enabled);
// Set Enabled property.
configSection.Enabled = false;
// Display the number of Providers
Console.WriteLine("Providers Collection Count: {0}",
configSection.Providers.Count);
// Display elements of the Providers collection property.
foreach (ProviderSettings providerItem in configSection.Providers)
{
Console.WriteLine();
Console.WriteLine("Provider Details:");
Console.WriteLine("Name: {0}", providerItem.Name);
Console.WriteLine("Type: {0}", providerItem.Type);
}
// Update if not locked.
if (!configSection.SectionInformation.IsLocked)
{
config.Save();
Console.WriteLine("** Configuration updated.");
}
else
{
Console.WriteLine("** Could not update, section is locked.");
}
}
catch (Exception e)
{
// Unknown error.
Console.WriteLine(e.ToString());
}
// Display and wait
Console.ReadLine();
}
}
}
System.Object
System.Configuration.ConfigurationElement
System.Configuration.ConfigurationSection
System.Web.Configuration.RoleManagerSection
此类型的任何公共静态(Visual Basic 中的 Shared)成员都是线程安全的,但不保证所有实例成员都是线程安全的。
Windows 98、Windows 2000 SP4、Windows Server 2003、Windows XP Media Center Edition、Windows XP Professional x64 Edition、Windows XP SP2、Windows XP Starter Edition
.NET Framework 并不是对每个平台的所有版本都提供支持。有关受支持版本的列表,请参见系统要求。
.NET Framework
受以下版本支持:2.0