SqlProfileProvider.DeleteInactiveProfiles メソッドとは? わかりやすく解説

Weblio 辞書 > コンピュータ > .NET Framework クラス ライブラリ リファレンス > SqlProfileProvider.DeleteInactiveProfiles メソッドの意味・解説 

SqlProfileProvider.DeleteInactiveProfiles メソッド

メモ : このメソッドは、.NET Framework version 2.0新しく追加されたものです。

最後アクティビティ日付指定した日時以前であるプロファイルの、ユーザー プロファイル データ削除します

名前空間: System.Web.Profile
アセンブリ: System.Web (system.web.dll 内)
構文構文

Public Overrides Function
 DeleteInactiveProfiles ( _
    authenticationOption As ProfileAuthenticationOption, _
    userInactiveSinceDate As DateTime _
) As Integer
Dim instance As SqlProfileProvider
Dim authenticationOption As ProfileAuthenticationOption
Dim userInactiveSinceDate As DateTime
Dim returnValue As Integer

returnValue = instance.DeleteInactiveProfiles(authenticationOption, userInactiveSinceDate)
public override int DeleteInactiveProfiles
 (
    ProfileAuthenticationOption authenticationOption,
    DateTime userInactiveSinceDate
)
public:
virtual int DeleteInactiveProfiles (
    ProfileAuthenticationOption authenticationOption, 
    DateTime userInactiveSinceDate
) override
public int DeleteInactiveProfiles (
    ProfileAuthenticationOption authenticationOption, 
    DateTime userInactiveSinceDate
)
public override function DeleteInactiveProfiles
 (
    authenticationOption : ProfileAuthenticationOption, 
    userInactiveSinceDate : DateTime
) : int

パラメータ

authenticationOption

プロファイル種類 (匿名認証、またはその両方) を指定する ProfileAuthenticationOption 値の 1 つ削除されます。

userInactiveSinceDate

アクティブでないと見なすユーザー プロファイル識別する DateTimeユーザー プロファイルの LastActivityDate が、この日時と同じまたはそれ以前場合、このプロファイルアクティブでないと見なされます

戻り値
データ ソースから削除されプロファイルの数。

解説解説
使用例使用例

アクティブでないプロファイル管理する ASP.NET ページ表示するコードの例次に示しますプロファイルアクティブでないと見なす指定日付以降アクセスされていないすべてのプロファイル削除するためのボタン用意されています。

<%@ Page Language="VB" %>
<%@ Import Namespace="System.Web.Profile"
 %>
<script runat="server">

Dim pageSize As Integer
 = 5
Dim totalProfiles As Integer
 
Dim totalPages As Integer
Dim currentPage As Integer
 = 1

Dim provider As SqlProfileProvider
Dim authOption As ProfileAuthenticationOption
Dim inactiveDays As Integer
 = 120
Dim deletedProfiles As Integer
 = 0

Public Sub Page_Load()

  DeletedMessage.Text = ""

  provider = CType(Profile.Providers("SqlProvider"),
 SqlProfileProvider)

  authOption = GetAuthenticationOption()

  If Not IsPostBack Then
  
    InactiveDaysTextBox.Text = inactiveDays.ToString()

    GetProfiles()
  Else
    inactiveDays = Convert.ToInt32(InactiveDaysTextBox.Text)
  End If
End Sub

Public Sub ProfileGrid_Delete(sender As
 Object, args As GridViewCommandEventArgs)
  ' Retrieve user name selected.

  Dim index As Integer =
 Convert.ToInt32(args.CommandArgument)

  Dim username As String
 = ProfileGrid.Rows(index).Cells(0).Text

  provider.DeleteProfiles(New string() {username})

  DeletedMessage.Text = "1 profile deleted."

  ' Refresh profile list.

  currentPage = Convert.ToInt32(CurrentPageLabel.Text)
  GetProfiles()
End Sub


Private Sub GetProfiles()
  ProfileGrid.DataSource = provider.GetAllInactiveProfiles(authOption, _
                             DateTime.Now.Subtract(New TimeSpan(inactiveDays,
 0, 0, 0)), _
                             currentPage - 1, pageSize, totalProfiles)

  TotalProfilesLabel.Text = totalProfiles.ToString()

  totalPages = ((totalProfiles - 1) \ pageSize) + 1

  ' Ensure that we do not navigate past the last page of Profiles.

  If currentPage > totalPages Then  
    currentPage = totalPages
    GetProfiles()
    Return
  End If

  ProfileGrid.DataBind()
  CurrentPageLabel.Text = currentPage.ToString()
  TotalPagesLabel.Text = totalPages.ToString()

  If currentPage = totalPages Then
    NextButton.Visible = False
  Else
    NextButton.Visible = True
  End If

  If currentPage = 1 Then
    PreviousButton.Visible = False
  Else
    PreviousButton.Visible = True
  End If

  If totalProfiles <= 0 Then
    NavigationPanel.Visible = False
  Else
    NavigationPanel.Visible = True
  End If
End Sub

Public Sub NextButton_OnClick(sender As
 Object, args As EventArgs)
  currentPage = Convert.ToInt32(CurrentPageLabel.Text)
  currentPage += 1
  GetProfiles()
End Sub

Public Sub PreviousButton_OnClick(sender As
 Object, args As EventArgs)
  currentPage = Convert.ToInt32(CurrentPageLabel.Text)
  currentPage -= 1
  GetProfiles()
End Sub

Public Sub ModifyInactiveDaysButton_OnClick(sender
 As Object, args As EventArgs)
  GetProfiles()
End Sub

Public Sub AuthenticationOptionListBox_OnSelectedIndexChanged(sender
 As Object, args As EventArgs)
  authOption = GetAuthenticationOption()
  GetProfiles()
End Sub

Private Function GetAuthenticationOption()
 As ProfileAuthenticationOption 
  If Not AuthenticationOptionListBox.SelectedItem
 Is Nothing Then  
    Select Case AuthenticationOptionListBox.SelectedItem.Value
      Case "Anonymous"
        Return ProfileAuthenticationOption.Anonymous
      Case "Authenticated"
        return ProfileAuthenticationOption.Authenticated
      Case Else
        Return ProfileAuthenticationOption.All
    End Select
  End If

  Return ProfileAuthenticationOption.All
End Function

Public Sub DeleteAllInactiveButton_OnClick(sender
 As Object, args As EventArgs)
  deletedProfiles = provider.DeleteInactiveProfiles(authOption, _
                      DateTime.Now.Subtract(new TimeSpan(inactiveDays,
 0, 0 ,0)))
  DeletedMessage.Text = deletedProfiles.ToString() & " profiles
 deleted."
  GetProfiles()
End SUb

</script>
<html>
<head>
<title>Sample: Find Profiles</title>
</head>
<body>

<form runat="server">
  <h3>Profile List</h3>

  <table border=0 cellpadding=3 cellspacing=3>
    <tr>
      <td valign="top">Authentication Option</td>
      <td valign="top"><asp:ListBox id="AuthenticationOptionListBox"
 rows="3" runat="Server"
                                    AutoPostBack="True"
                                    OnSelectedIndexChanged="AuthenticationOptionListBox_OnSelectedIndexChanged">
                         <asp:ListItem value="All"
 selected="True">All</asp:ListItem>
                         <asp:ListItem value="Authenticated">Authenticated</asp:ListItem>
                         <asp:ListItem value="Anonymous">Anonymous</asp:ListItem>
                       </asp:ListBox>
      </td>
    </tr>
    <tr>
      <td valign="top" width="160">
        Number of Days for Profile to
 be considered "inactive"</td>
      <td valign="top" width="200">
        <asp:TextBox id="InactiveDaysTextBox" runat="Server"
 MaxLength="3" Columns="3"
 />
        <asp:Button id="ModifyInactiveDaysButton"
 runat="server" Text="Refresh
 Results" 
           OnClick="ModifyInactiveDaysButton_OnClick"
 /><BR>
        <asp:Button id="DeleteAllInactiveButton"
 runat="Server"
           Text="Delete All Inactive Profiles" OnClick="DeleteAllInactiveButton_OnClick"
 />
      </td>
      <td valign="top">
        <asp:RequiredFieldValidator id="InactiveDaysRequiredValidator"
 runat="server"
           ControlToValidate="InactiveDaysTextBox"
 ForeColor="red"
           Display="Static" ErrorMessage="Required"
 />
        <asp:RegularExpressionValidator id="InactiveDaysValidator"
 runat="server"
           ControlToValidate="InactiveDaysTextBox"
 ForeColor="red"
           Display="Static" ValidationExpression="[0-9]*"
 
           ErrorMessage="Inactive Days must be a whole number
 less than 1000 (e.g. 30, 120)" />
     </td>
    </tr>
    <tr>
      <td><asp:Label id="DeletedMessage"
 runat="server" /></td>
      <td><asp:Label id="TotalProfilesLabel"
 runat="server" /> inactive profiles found.</td>
    </tr>
  </table>

    <asp:Panel id="NavigationPanel" Visible="False"
 runat="server">
    <table border=0 cellpadding=3 cellspacing=3>
      <tr>
        <td width=100>Page <asp:Label id="CurrentPageLabel"
 runat="server" />
            of <asp:Label id="TotalPagesLabel"
 runat="server" /></td>
        <td width=60><asp:LinkButton id="PreviousButton"
 Text="< Prev"
                            OnClick="PreviousButton_OnClick"
 runat="server" /></td>
        <td width=60><asp:LinkButton id="NextButton"
 Text="Next >"
                            OnClick="NextButton_OnClick"
 runat="server" /></td>
      </tr>
    </table>
  </asp:Panel>

  <asp:GridView id="ProfileGrid" runat="server"
 AutoGenerateColumns="False"
                OnRowCommand="ProfileGrid_Delete"
                CellPadding="2" CellSpacing="1"
 Gridlines="None">
    <HeaderStyle BackColor="darkblue" ForeColor="white"
 />
    <Columns>
      <asp:BoundField runat="server" HeaderText="User
 Name" DataField="Username" />
      <asp:BoundField runat="server" HeaderText="Is
 Anonymous" DataField="IsAnonymous" />
      <asp:BoundField runat="server" HeaderText="Last
 Updated" DataField="LastUpdatedDate"
 />
      <asp:BoundField runat="server" HeaderText="Last
 Activity" DataField="LastActivityDate"
 />
      <asp:ButtonField runat="server" HeaderText="Action"
 Text="Delete" ButtonType="Link"
 />
    </Columns>
  </asp:GridView>

</form>

</body>
</html>
<%@ Page Language="C#" %>
<%@ Import Namespace="System.Web.Profile" %>
<script runat="server">

int pageSize = 5;
int totalProfiles;
int totalPages;
int currentPage = 1;

SqlProfileProvider provider;
ProfileAuthenticationOption authOption;
int inactiveDays = 120;
int deletedProfiles = 0;

public void Page_Load()
{
  DeletedMessage.Text = "";

  provider = (SqlProfileProvider)Profile.Providers["SqlProvider"];

  authOption = GetAuthenticationOption();

  if (!IsPostBack)
  {
    InactiveDaysTextBox.Text = inactiveDays.ToString();

    GetProfiles();
  }
  else
  {
    inactiveDays = Convert.ToInt32(InactiveDaysTextBox.Text);
  }
}

public void ProfileGrid_Delete(object sender,
 GridViewCommandEventArgs args)
{
  // Retrieve user name selected.

  int index = Convert.ToInt32(args.CommandArgument);

  string username = ProfileGrid.Rows[index].Cells[0].Text;

  provider.DeleteProfiles(new string[] {username});

  DeletedMessage.Text = "1 profile deleted.";

  // Refresh profile list.

  currentPage = Convert.ToInt32(CurrentPageLabel.Text);
  GetProfiles();
}


private void GetProfiles()
{
  ProfileGrid.DataSource = provider.GetAllInactiveProfiles(authOption,
                             DateTime.Now.Subtract(new TimeSpan(inactiveDays,
 0, 0, 0)),
                             currentPage - 1, pageSize, out totalProfiles);

  TotalProfilesLabel.Text = totalProfiles.ToString();

  totalPages = ((totalProfiles - 1) / pageSize) + 1;

  // Ensure that we do not navigate past the last page of Profiles.

  if (currentPage > totalPages)
  {
    currentPage = totalPages;
    GetProfiles();
    return;
  }

  ProfileGrid.DataBind();
  CurrentPageLabel.Text = currentPage.ToString();
  TotalPagesLabel.Text = totalPages.ToString();

  if (currentPage == totalPages)
    NextButton.Visible = false;
  else
    NextButton.Visible = true;

  if (currentPage == 1)
    PreviousButton.Visible = false;
  else
    PreviousButton.Visible = true;

  if (totalProfiles <= 0)
    NavigationPanel.Visible = false;
  else
    NavigationPanel.Visible = true;
}

public void NextButton_OnClick(object sender,
 EventArgs args)
{
  currentPage = Convert.ToInt32(CurrentPageLabel.Text);
  currentPage++;
  GetProfiles();
}

public void PreviousButton_OnClick(object sender,
 EventArgs args)
{
  currentPage = Convert.ToInt32(CurrentPageLabel.Text);
  currentPage--;
  GetProfiles();
}

public void ModifyInactiveDaysButton_OnClick(object
 sender, EventArgs args)
{
  GetProfiles();
}

public void AuthenticationOptionListBox_OnSelectedIndexChanged(object
 sender, EventArgs args)
{
  authOption = GetAuthenticationOption();
  GetProfiles();
}

private ProfileAuthenticationOption GetAuthenticationOption()
{
  if (AuthenticationOptionListBox.SelectedItem != null)
  {
    switch (AuthenticationOptionListBox.SelectedItem.Value)
    {
      case "Anonymous":
        return ProfileAuthenticationOption.Anonymous;
        break;
      case "Authenticated":
        return ProfileAuthenticationOption.Authenticated;
        break;
      default:
        return ProfileAuthenticationOption.All;
        break;
    }
  }

  return ProfileAuthenticationOption.All;
}

public void DeleteAllInactiveButton_OnClick(object
 sender, EventArgs args)
{
  deletedProfiles = provider.DeleteInactiveProfiles(authOption, 
                      DateTime.Now.Subtract(new TimeSpan(inactiveDays,
 0, 0 ,0)));
  DeletedMessage.Text = deletedProfiles.ToString() + " profiles deleted.";
  GetProfiles();
}

</script>
<html>
<head>
<title>Sample: Find Profiles</title>
</head>
<body>

<form runat="server">
  <h3>Profile List</h3>

  <table border=0 cellpadding=3 cellspacing=3>
    <tr>
      <td valign="top">Authentication Option</td>
      <td valign="top"><asp:ListBox id="AuthenticationOptionListBox"
 rows="3" runat="Server"
                                    AutoPostBack="true"
                                    OnSelectedIndexChanged="AuthenticationOptionListBox_OnSelectedIndexChanged">
                         <asp:ListItem value="All" selected="True">All</asp:ListItem>
                         <asp:ListItem value="Authenticated">Authenticated</asp:ListItem>
                         <asp:ListItem value="Anonymous">Anonymous</asp:ListItem>
                       </asp:ListBox>
      </td>
    </tr>
    <tr>
      <td valign="top" width="160">
        Number of Days for Profile to be considered "inactive"</td>
      <td valign="top" width="200">
        <asp:TextBox id="InactiveDaysTextBox" runat="Server"
 MaxLength="3" Columns="3" />
        <asp:Button id="ModifyInactiveDaysButton" runat="server"
 Text="Refresh Results" 
           OnClick="ModifyInactiveDaysButton_OnClick" /><BR>
        <asp:Button id="DeleteAllInactiveButton" runat="Server"
           Text="Delete All Inactive Profiles" OnClick="DeleteAllInactiveButton_OnClick"
 />
      </td>
      <td valign="top">
        <asp:RequiredFieldValidator id="InactiveDaysRequiredValidator"
 runat="server"
           ControlToValidate="InactiveDaysTextBox" ForeColor="red"
           Display="Static" ErrorMessage="Required" />
        <asp:RegularExpressionValidator id="InactiveDaysValidator" runat="server"
           ControlToValidate="InactiveDaysTextBox" ForeColor="red"
           Display="Static" ValidationExpression="[0-9]*" 
           ErrorMessage="Inactive Days must be a whole number less than 1000
 (e.g. 30, 120)" />
     </td>
    </tr>
    <tr>
      <td><asp:Label id="DeletedMessage" runat="server"
 /></td>
      <td><asp:Label id="TotalProfilesLabel" runat="server"
 /> inactive profiles found.</td>
    </tr>
  </table>

    <asp:Panel id="NavigationPanel" Visible="false"
 runat="server">
    <table border=0 cellpadding=3 cellspacing=3>
      <tr>
        <td width=100>Page <asp:Label id="CurrentPageLabel" runat="server"
 />
            of <asp:Label id="TotalPagesLabel" runat="server"
 /></td>
        <td width=60><asp:LinkButton id="PreviousButton" Text="<
 Prev"
                            OnClick="PreviousButton_OnClick" runat="server"
 /></td>
        <td width=60><asp:LinkButton id="NextButton" Text="Next
 >"
                            OnClick="NextButton_OnClick" runat="server"
 /></td>
      </tr>
    </table>
  </asp:Panel>

  <asp:GridView id="ProfileGrid" runat="server" AutoGenerateColumns="false"
                OnRowCommand="ProfileGrid_Delete"
                CellPadding="2" CellSpacing="1" Gridlines="None">
    <HeaderStyle BackColor="darkblue" ForeColor="white" />
    <Columns>
      <asp:BoundField runat="server" HeaderText="User Name"
 DataField="Username" />
      <asp:BoundField runat="server" HeaderText="Is Anonymous"
 DataField="IsAnonymous" />
      <asp:BoundField runat="server" HeaderText="Last Updated"
 DataField="LastUpdatedDate" />
      <asp:BoundField runat="server" HeaderText="Last Activity"
 DataField="LastActivityDate" />
      <asp:ButtonField runat="server" HeaderText="Action"
 Text="Delete" ButtonType="Link" />
    </Columns>
  </asp:GridView>

</form>

</body>
</html>
プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照


このページでは「.NET Framework クラス ライブラリ リファレンス」からSqlProfileProvider.DeleteInactiveProfiles メソッドを検索した結果を表示しています。
Weblioに収録されているすべての辞書からSqlProfileProvider.DeleteInactiveProfiles メソッドを検索する場合は、下記のリンクをクリックしてください。
 全ての辞書からSqlProfileProvider.DeleteInactiveProfiles メソッド を検索

英和和英テキスト翻訳>> Weblio翻訳
英語⇒日本語日本語⇒英語
  

辞書ショートカット

すべての辞書の索引

SqlProfileProvider.DeleteInactiveProfiles メソッドのお隣キーワード
検索ランキング

   

英語⇒日本語
日本語⇒英語
   



SqlProfileProvider.DeleteInactiveProfiles メソッドのページの著作権
Weblio 辞書 情報提供元は 参加元一覧 にて確認できます。

   
日本マイクロソフト株式会社日本マイクロソフト株式会社
© 2024 Microsoft.All rights reserved.

©2024 GRAS Group, Inc.RSS