RoleProvider.GetAllRoles 方法    
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
获取已配置的 applicationName 的全部角色列表。
public:
 abstract cli::array <System::String ^> ^ GetAllRoles();public abstract string[] GetAllRoles();abstract member GetAllRoles : unit -> string[]Public MustOverride Function GetAllRoles () As String()返回
一个字符串数组,它包含已配置的 applicationName 的数据源中所存储的全部角色的名称。
示例
下面的代码示例演示 了 方法的示例 GetAllRoles 实现。
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
注解
GetAllRoles 由 GetAllRoles 类的 Roles 方法调用,以从数据源检索角色名称列表。 仅检索指定 ApplicationName 的角色。
如果配置的 applicationName不存在任何角色,我们建议提供程序返回一个没有元素的字符串数组。