RoleProvider.GetAllRoles Methode

Definition

Ruft eine Liste aller Rollen für die konfigurierte applicationName ab.

public:
 abstract cli::array <System::String ^> ^ GetAllRoles();
public abstract string[] GetAllRoles ();
abstract member GetAllRoles : unit -> string[]
Public MustOverride Function GetAllRoles () As String()

Gibt zurück

String[]

Ein Zeichenfolgenarray, das die Namen aller Rollen enthält, die in der Datenquelle für die konfigurierte applicationName gespeichert sind.

Beispiele

Im folgenden Codebeispiel wird eine Beispielimplementierung der GetAllRoles Methode gezeigt.

public override string[] GetAllRoles()
{
  string tmpRoleNames = "";

  OdbcConnection conn = new OdbcConnection(connectionString);
  OdbcCommand cmd = new OdbcCommand("SELECT Rolename FROM Roles "  +
                                    " WHERE ApplicationName = ?", conn);

  cmd.Parameters.Add("@ApplicationName", OdbcType.VarChar, 255).Value = ApplicationName;

  OdbcDataReader reader = null;

  try
  {
    conn.Open();

    reader = cmd.ExecuteReader();

    while (reader.Read())
    {
      tmpRoleNames += reader.GetString(0) + ",";
    }
  }
  catch (OdbcException)
  {
    // Handle exception.
  }
  finally
  {
    if (reader != null) { reader.Close(); }
    conn.Close();      
  }

  if (tmpRoleNames.Length > 0)
  {
    // Remove trailing comma.
    tmpRoleNames = tmpRoleNames.Substring(0, tmpRoleNames.Length - 1);
    return tmpRoleNames.Split(',');
  }

  return new string[0];
}
Public Overrides Function GetAllRoles() As String()
    Dim tmpRoleNames As String = ""

    Dim conn As OdbcConnection = New OdbcConnection(connectionString)
    Dim cmd As OdbcCommand = New OdbcCommand("SELECT Rolename FROM Roles " & _
                                             " WHERE ApplicationName = ?", conn)

    cmd.Parameters.Add("@ApplicationName", OdbcType.VarChar, 255).Value = ApplicationName

    Dim reader As OdbcDataReader = Nothing

    Try
        conn.Open()

        reader = cmd.ExecuteReader()

        Do While reader.Read()
            tmpRoleNames &= reader.GetString(0) & ","
        Loop
    Catch e As OdbcException
        ' Handle exception.
    Finally
        If Not reader Is Nothing Then reader.Close()
        conn.Close()
    End Try

    If tmpRoleNames.Length > 0 Then
        ' Remove trailing comma.
        tmpRoleNames = tmpRoleNames.Substring(0, tmpRoleNames.Length - 1)
        Return tmpRoleNames.Split(CChar(","))
    End If

    Return New String() {}
End Function

Hinweise

GetAllRoles wird von der GetAllRoles Methode der Roles Klasse aufgerufen, um eine Liste der Rollennamen aus der Datenquelle abzurufen. Nur die Rollen für die angegebene Datei ApplicationName werden abgerufen.

Wenn keine Rollen für die konfigurierte Rolle applicationNamevorhanden sind, empfehlen wir, dass Ihr Anbieter ein Zeichenfolgenarray ohne Elemente zurückgibt.

Gilt für

Siehe auch