RoleProvider.CreateRole(String) Metod
Definition
Viktigt
En del information gäller för förhandsversionen av en produkt och kan komma att ändras avsevärt innan produkten blir allmänt tillgänglig. Microsoft lämnar inga garantier, uttryckliga eller underförstådda, avseende informationen som visas här.
Lägger till en ny roll i datakällan för den konfigurerade applicationName.
public:
abstract void CreateRole(System::String ^ roleName);
public abstract void CreateRole(string roleName);
abstract member CreateRole : string -> unit
Public MustOverride Sub CreateRole (roleName As String)
Parametrar
- roleName
- String
Namnet på rollen som ska skapas.
Exempel
I följande kodexempel visas en exempelimplementering av CreateRole metoden.
public override void CreateRole(string rolename)
{
if (rolename == null || rolename == "")
throw new ProviderException("Role name cannot be empty or null.");
if (rolename.Contains(","))
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 Roles " +
" (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();
}
}
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.Contains(",") 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 Roles " & _
" (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
Kommentarer
CreateRole anropas av CreateRole -metoden för Roles klassen för att lägga till den angivna rollen i datakällan för den konfigurerade ApplicationName.
Om det angivna rollnamnet redan finns för den konfigurerade applicationName, är nulleller är en tom sträng rekommenderar vi att providern utlöser ett undantag.
Om det angivna rollnamnet innehåller ett kommatecken rekommenderar vi att providern utlöser ett undantag.
Om datakällan begränsar längden på rollnamnet, till exempel genom en kolumn med fast längd i en tabell i en databas, rekommenderar vi att du utlöser ett undantag om rollnamnet överskrider den maximala längd som tillåts av datakällan.