注意:此方法在 .NET Framework 2.0 版中是新增的。
在数据源中为已配置的
applicationName 添加一个新角色。
命名空间:System.Web.Security
程序集:System.Web(在 system.web.dll 中)
Public MustOverride Sub CreateRole ( _
roleName As String _
)
Dim instance As RoleProvider
Dim roleName As String
instance.CreateRole(roleName)
public abstract void CreateRole (
string roleName
)
public:
virtual void CreateRole (
String^ roleName
) abstract
public abstract void CreateRole (
String roleName
)
public abstract function CreateRole (
roleName : String
)
参数
- roleName
要创建的角色的名称。
CreateRole 由 Roles 类的 CreateRole 方法调用,以在数据源中为已配置的 ApplicationName 添加指定角色。
如果指定角色名对于已配置的 applicationName 已存在,或者指定角色名为 空引用(在 Visual Basic 中为 Nothing) 或为空字符串,建议提供程序引发异常。
如果指定角色名包含逗号,则建议提供程序引发异常。
如果数据源限制角色名的长度(例如通过数据库中的表的固定长度列),则建议在角色名超过数据源所允许的最大长度时引发异常。
下面的代码示例演示 CreateRole 方法的示例实现。
Public Overrides Sub CreateRole(rolename As String)
If rolename Is Nothing OrElse rolename = "" Then _
Throw New ProviderException("Role name cannot be empty or null.")
If rolename.IndexOf(",") > 0 Then _
Throw New ArgumentException("Role names cannot contain commas.")
If RoleExists(rolename) Then _
Throw New ProviderException("Role name already exists.")
If rolename.Length > 255 Then _
Throw New ProviderException("Role name cannot exceed 255 characters.")
Dim conn As OdbcConnection = New OdbcConnection(connectionString)
Dim cmd As OdbcCommand = New OdbcCommand("INSERT INTO [" & rolesTable & "]" & _
" (Rolename, ApplicationName) " & _
" Values(?, ?)", conn)
cmd.Parameters.Add("@Rolename", OdbcType.VarChar, 255).Value = rolename
cmd.Parameters.Add("@ApplicationName", OdbcType.VarChar, 255).Value = ApplicationName
Try
conn.Open()
cmd.ExecuteNonQuery()
Catch e As OdbcException
' Handle exception.
Finally
conn.Close()
End Try
End Sub
public override void CreateRole(string rolename)
{
if (rolename == null || rolename == "")
throw new ProviderException("Role name cannot be empty or null.");
if (rolename.IndexOf(',') > 0)
throw new ArgumentException("Role names cannot contain commas.");
if (RoleExists(rolename))
throw new ProviderException("Role name already exists.");
if (rolename.Length > 255)
throw new ProviderException("Role name cannot exceed 255 characters.");
OdbcConnection conn = new OdbcConnection(connectionString);
OdbcCommand cmd = new OdbcCommand("INSERT INTO [" + rolesTable + "]" +
" (Rolename, ApplicationName) " +
" Values(?, ?)", conn);
cmd.Parameters.Add("@Rolename", OdbcType.VarChar, 255).Value = rolename;
cmd.Parameters.Add("@ApplicationName", OdbcType.VarChar, 255).Value = ApplicationName;
try
{
conn.Open();
cmd.ExecuteNonQuery();
}
catch (OdbcException)
{
// Handle exception.
}
finally
{
conn.Close();
}
}
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