RoleProvider.GetAllRoles Metod

Definition

Hämtar en lista över alla roller för den konfigurerade applicationName.

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

Returer

String[]

En strängmatris som innehåller namnen på alla roller som lagras i datakällan för den konfigurerade applicationName.

Exempel

I följande kodexempel visas en exempelimplementering av GetAllRoles metoden.

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

Kommentarer

GetAllRoles anropas med GetAllRoles metoden för Roles klassen för att hämta en lista med rollnamn från datakällan. Endast rollerna för den angivna ApplicationName hämtas.

Om det inte finns några roller för den konfigurerade applicationNamerekommenderar vi att providern returnerar en strängmatris utan element.

Gäller för

Se även