RoleProvider.CreateRole(String) Methode

Definitie

Voegt een nieuwe rol toe aan de gegevensbron voor de geconfigureerde 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)

Parameters

roleName
String

De naam van de rol die moet worden gemaakt.

Voorbeelden

In het volgende codevoorbeeld ziet u een voorbeeld van de implementatie van de CreateRole methode.

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

Opmerkingen

CreateRole wordt aangeroepen door de CreateRole methode van de Roles klasse om de opgegeven rol toe te voegen aan de gegevensbron voor de geconfigureerde ApplicationName.

Als de opgegeven rolnaam al bestaat voor de geconfigureerde applicationName, is nullof een lege tekenreeks is, is het raadzaam dat uw provider een uitzondering genereert.

Als de opgegeven rolnaam een komma bevat, is het raadzaam dat uw provider een uitzondering genereert.

Als de gegevensbron de lengte van de rolnaam beperkt, bijvoorbeeld via een kolom met vaste lengte van een tabel in een database, wordt u aangeraden een uitzondering te genereren als de rolnaam de maximale lengte overschrijdt die is toegestaan door de gegevensbron.

Van toepassing op

Zie ook