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

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

ProfileManager.DeleteInactiveProfiles メソッド

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

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

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

Public Shared Function DeleteInactiveProfiles
 ( _
    authenticationOption As ProfileAuthenticationOption, _
    userInactiveSinceDate As DateTime _
) As Integer
Dim authenticationOption As ProfileAuthenticationOption
Dim userInactiveSinceDate As DateTime
Dim returnValue As Integer

returnValue = ProfileManager.DeleteInactiveProfiles(authenticationOption, userInactiveSinceDate)
public static int DeleteInactiveProfiles
 (
    ProfileAuthenticationOption authenticationOption,
    DateTime userInactiveSinceDate
)
public:
static int DeleteInactiveProfiles (
    ProfileAuthenticationOption authenticationOption, 
    DateTime userInactiveSinceDate
)
public static int DeleteInactiveProfiles
 (
    ProfileAuthenticationOption authenticationOption, 
    DateTime userInactiveSinceDate
)
public static function DeleteInactiveProfiles
 (
    authenticationOption : ProfileAuthenticationOption, 
    userInactiveSinceDate : DateTime
) : int

パラメータ

authenticationOption

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

userInactiveSinceDate

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

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

解説解説

DeleteInactiveProfiles メソッドは、構成ファイル内の applicationName 属性指定されアプリケーションデータ ソースから、使用されていないプロファイル データ削除するために使用されます。検索対象プロファイル (匿名プロファイルのみ、認証済みプロファイルのみ、またはすべてのプロファイル) を指定するには、authenticationOption パラメータ使用します検索されプロファイルのうち、指定されuserInactiveSinceDate パラメータ値またはそれ以前LastActivityDate を持つプロファイル削除されます。

DeleteInactiveProfiles メソッドは、既定プロファイル プロバイダの DeleteInactiveProfiles メソッド呼び出します。既定プロファイル プロバイダは、profile 構成要素defaultProvider 属性使用して指定しますユーザー プロファイルに、既定プロバイダ以外のプロファイル プロバイダによって管理されるプロパティ存在する場合、他のデータ ソース内のプロファイル情報削除されません。既定プロバイダ以外のプロファイル プロバイダによって管理されるアクティブでないプロファイル削除するには、Providers プロパティ目的プロファイルへの参照取得しプロバイダDeleteInactiveProfiles メソッド直接呼び出します。

使用例使用例

アクティブでないプロファイル管理する 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 authOption As ProfileAuthenticationOption
Dim inactiveDays As Integer
 = 120
Dim deletedProfiles As Integer
 = 0

Public Sub Page_Load()

  DeletedMessage.Text = ""

  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

  ProfileManager.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 = ProfileManager.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 = ProfileManager.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;

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

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

  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;

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

  DeletedMessage.Text = "1 profile deleted.";

  // Refresh profile list.

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


private void GetProfiles()
{
  ProfileGrid.DataSource = ProfileManager.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 = ProfileManager.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 クラス ライブラリ リファレンス」からProfileManager.DeleteInactiveProfiles メソッドを検索した結果を表示しています。
Weblioに収録されているすべての辞書からProfileManager.DeleteInactiveProfiles メソッドを検索する場合は、下記のリンクをクリックしてください。
 全ての辞書からProfileManager.DeleteInactiveProfiles メソッド を検索

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

辞書ショートカット

すべての辞書の索引

「ProfileManager.DeleteInactiveProfiles メソッド」の関連用語

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

   

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



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

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

©2025 GRAS Group, Inc.RSS