Partilhar via


Como: Remover entradas do usuário do armazenamento de personalização

Em um aplicativo Web ASP.NET que usa a personalização, existem algumas circunstâncias em que talvez você precise remover entradas do armazenamento de personalização.Como: Habilitar usuários para desmarcar o estado de personalização mostra a abordagem mais simples, que é expor o ResetPersonalizationState método por meio de um controle na página para que os usuários individuais podem remover todos os dados de personalização que pertence a eles. No entanto, se você precisar gerenciar dados de personalização de outros, vários usuários, você deve usar os vários métodos da classe PersonalizationAdministration.

Observação:

Somente aos administradores da página devem ser concedidos acesso aos métodos da classe PersonalizationAdministration.

Para remover um estado de usuário individual do armazenamento de personalização

  1. Em uma parte de aplicativo da Web que está disponível somente para administradores, tal como uma página ASP.NET ou um controle de usuário, crie um conjunto de controles para receber entrada do usuário e enviá-la para o servidor.

    O exemplo neste procedimento usa um controle TextBox e um controle Button.

  2. Em manipulador de eventos apropriado, chame o método PersonalizationAdministration.ResetUserState com o caminho relativo para o aplicativo da Web em questão e o nome de usuário como parâmetros, conforme mostrado no exemplo o seguir.

    Protected Sub btnClear_Click(ByVal sender As Object, ByVal e As System.EventArgs)
        ' Verify that the text box txtUser is not empty.
        If (txtUser.Text.Length < 1) Then
            Response.Write("You must enter a user name.")
        End If
        Return
    
        ' Reset the user.
        If (Not PersonalizationAdministration.ResetUserState("~/Default.aspx", txtUser.Text)) Then
            Response.Write("The user could not be found or the user has not personalized this page.")
        End If
    End Sub
    
    protected void btnClear_Click(object sender, EventArgs e)
    {
        // Verify that the text box is not empty.
        if (txtUser.Text.Length < 1)
        {
            Response.Write("You must enter a user name.");
            return;
        }
    
        // Reset the user.
        if (! PersonalizationAdministration.ResetUserState("~/Default.aspx", txtUser.Text))
        {
            Response.Write("The user could not be found or the user has not personalized this page");
        }
    }
    

Para remover um grupo de usuários do armazenamento de personalização

  1. Em uma parte de aplicativo da Web que está disponível somente para administradores, crie um conjunto de controles para receber entrada do usuário e enviá-lo para o servidor.

    O exemplo neste procedimento usa um controle TextBox e um controle Button.

  2. Em manipulador de eventos apropriado, chame o método PersonalizationAdministration.ResetUserState com o caminho relativo para o aplicativo da Web em questão e a lista de nomes de usuário como parâmetros, conforme mostrado no exemplo o seguir.

    Protected Sub btnClearList_Click(ByVal sender As Object, ByVal e As System.EventArgs)
        ' Verify that the text box is not empty.
        If (txtUser.Text.Length < 1) Then
            Response.Write("You must enter at least one user name.")
            Return
        End If
    
        ' Extract the list of users.
        Dim users As Array
        users = txtUserList.Text.Split(" ,;".ToCharArray())
    
        ' Reset the users.
        Dim RowsReset As Integer
        RowsReset = PersonalizationAdministration.ResetUserState("~/Default.aspx", users)
        Response.Write(RowsReset + "of " + users.Length + " users found and removed.")
    End Sub
    
    protected void btnClearList_Click(object sender, EventArgs e)
    {
        // Verify that the text box is not empty.
        if (txtUser.Text.Length < 1)
        {
            Response.Write("You must enter at least one user name.");
            return;
        }
    
        // Reset the users.
        string[] users = txtUserList.Text.Split(" ,;".ToCharArray());
        int RowsReset = PersonalizationAdministration.ResetUserState("~/Default.aspx", users);
        Response.Write(RowsReset + "of " + users.Length + " users found and removed.");
    }
    

Para remover todos os usuários inativos do armazenamento de personalização

  1. Em uma parte de aplicativo da Web que só está disponível para administradores, crie um controle Calendar e um Button.

  2. Em manipulador de eventos apropriado, chame o método PersonalizationAdministration.ResetInactiveUserState com o caminho relativo para o aplicativo da Web em questão e a lista de nomes de usuário como parâmetros, conforme mostrado no exemplo o seguir.

    Protected Sub btnClearInactive_Click(ByVal sender As Object, ByVal e As System.EventArgs)
        ' Verify that a date is selected.
        If (calInactive.SelectedDate = DateTime.MinValue) Then
            Response.Write("You must select a date.")
            Return
        End If
    
        ' Reset all users inactive since the selected date.
        Dim RowsReset As Integer
        RowsReset = PersonalizationAdministration.ResetInactiveUserState("~/Default.aspx", calInactive.SelectedDate)
        Response.Write(RowsReset + " inactive users removed.")
    End Sub
    
    protected void btnClearInactive_Click(object sender, EventArgs e)
    {
        // Verify that a date is selected.
        if (calInactive.SelectedDate == DateTime.MinValue)
        {
            Response.Write("You must select a date.");
            return;
        }
    
        // Reset all users inactive since the selected date.
        int RowsReset = PersonalizationAdministration.ResetInactiveUserState("~/Default.aspx", calInactive.SelectedDate);
        Response.Write(RowsReset + " inactive users removed.");
    }
    

Consulte também

Tarefas

Como: Habilitar usuários para desmarcar o estado de personalização

Referência

System.Web.UI.WebControls.WebParts

PersonalizationAdministration

Outros recursos

ASP.NET Web Parts Controls