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

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

SqlProfileProvider.FindInactiveProfilesByUserName メソッド

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

最後アクティビティ日付指定した日付またはそれ以前であり、プロファイルユーザー名指定した名前と一致するプロファイルプロファイル情報取得します

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

Public Overrides Function
 FindInactiveProfilesByUserName ( _
    authenticationOption As ProfileAuthenticationOption, _
    usernameToMatch As String, _
    userInactiveSinceDate As DateTime, _
    pageIndex As Integer, _
    pageSize As Integer, _
    <OutAttribute> ByRef totalRecords As
 Integer _
) As ProfileInfoCollection
Dim instance As SqlProfileProvider
Dim authenticationOption As ProfileAuthenticationOption
Dim usernameToMatch As String
Dim userInactiveSinceDate As DateTime
Dim pageIndex As Integer
Dim pageSize As Integer
Dim totalRecords As Integer
Dim returnValue As ProfileInfoCollection

returnValue = instance.FindInactiveProfilesByUserName(authenticationOption, usernameToMatch,
 userInactiveSinceDate, pageIndex, pageSize, totalRecords)
public override ProfileInfoCollection FindInactiveProfilesByUserName
 (
    ProfileAuthenticationOption authenticationOption,
    string usernameToMatch,
    DateTime userInactiveSinceDate,
    int pageIndex,
    int pageSize,
    out int totalRecords
)
public:
virtual ProfileInfoCollection^ FindInactiveProfilesByUserName (
    ProfileAuthenticationOption authenticationOption, 
    String^ usernameToMatch, 
    DateTime userInactiveSinceDate, 
    int pageIndex, 
    int pageSize, 
    [OutAttribute] int% totalRecords
) override
public ProfileInfoCollection FindInactiveProfilesByUserName (
    ProfileAuthenticationOption authenticationOption, 
    String usernameToMatch, 
    DateTime userInactiveSinceDate, 
    int pageIndex, 
    int pageSize, 
    /** @attribute OutAttribute() */ /** @ref */ int totalRecords
)
JScript では、値型引数参照渡しされません。

パラメータ

authenticationOption

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

usernameToMatch

検索するユーザー名

userInactiveSinceDate

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

pageIndex

取得する結果ページインデックスpageIndex は 0 から始まります

pageSize

取得する結果ページサイズ

totalRecords

このメソッドから制御が戻るとき、プロファイル合計数を識別する整数格納されます。このパラメータ初期化せずに渡されます。

戻り値
指定されusernameToMatch パラメータユーザー名一致するアクティブでないプロファイルに関するユーザー プロファイル情報格納している ProfileInfoCollection。

例外例外
例外種類条件

ArgumentNullException

usernameToMatchnull 参照 (Visual Basic では Nothing) です。

ArgumentException

usernameToMatch空の文字列 ("") であるか、または 256 文字超えてます。

または

pageIndex が 0 未満です。

または

pageSize1 未満です。

または

pageIndexpageSize の積が MaxValue を超えてます。

解説解説

FindInactiveProfilesByUserName メソッドは、構成ファイル内の applicationName 属性指定されアプリケーションの、使用されていないユーザー プロファイルに関するプロファイル情報取得するために使用されます。このメソッドは、プロファイルユーザー名指定されusernameToMatch パラメータ値が一致するプロファイルだけを取得します検索対象プロファイル (匿名プロファイルのみ、認証済みプロファイルのみ、またはすべてのプロファイル) を指定するには、authenticationOption パラメータ使用します検索されプロファイルのうち、LastActivityDate指定されuserInactiveSinceDate パラメータ値より前であるプロファイル返されます。

SqlProfileProvider は、LIKE キーワードを使用して usernameToMatch パラメータ値と一致する値を検索しますパーセント記号 (%) などのワイルドカード文字にも対応してます。たとえば、usernameToMatch パラメータを "user1" に設定した場合、"user1" のユーザー名付いたプロファイル存在していれば、そのプロファイル情報返されます。usernameToMatch パラメータを "user%" に設定した場合、"user1"、"user2"、"user_admin" などのユーザー名付いたプロファイルプロファイル情報返されます。このとき返されるユーザー名順序は、プロファイルデータ ストア追加された順です。

FindInactiveProfilesByUserName によって返される結果は、pageIndex パラメータおよび pageSize パラメータによって制限されます。pageSize パラメータには、ProfileInfoCollection返す ProfileInfo オブジェクト最大数を指定しますpageIndex パラメータには、取得する結果ページ指定します。0 が最初のページ表しますtotalRecords パラメータは、authenticationOption パラメータuserInactiveSinceDate パラメータ基づいて構成済みapplicationName に対してアクティブでないユーザー プロファイル合計数に設定されout パラメータです。たとえば、構成済みapplicationName13 人のユーザー存在しpageIndex 値が 1 で pageSize が 5 である場合返される ProfileInfoCollection には 6 番目から 10 番目までのアクティブでないプロファイル含まれます。totalRecords パラメータは、13設定されます。

使用例使用例

次のコード例では、ユーザーusernameToMatch 値と ProfileAuthenticationOption指定し、これに一致するプロファイルについてのプロファイル情報取得できます。この例では、アクティブでないプロファイルだけを返すかどうかユーザー指定することもできますアクティブでないプロファイルのみを返すようにユーザー指定した場合は、FindInactiveProfilesByUserName メソッド呼び出します。それ以外場合は、FindProfilesByUserName メソッド呼び出します。

<%@ 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 provider As SqlProfileProvider 

Dim inactiveDays As Integer
 = 90

Public Sub Page_Load()
  InactiveDaysLabel.Text = inactiveDays.ToString()
  authOption = GetAuthenticationOption()

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

  InactiveProfilesLabel.Text = provider.GetNumberOfInactiveProfiles(authOption, _
               DateTime.Now.Subtract(New TimeSpan(inactiveDays,
 0, 0, 0))).ToString()

  DeletedMessage.Text = ""
End Sub


Private Function GetProfiles() As
 ProfileInfoCollection 
  Dim profiles As ProfileInfoCollection 

  If ShowInactiveCheckBox.Checked Then  
    profiles = provider.FindInactiveProfilesByUserName(authOption, _
                 UserNameTextBox.Text, _
                 DateTime.Now.Subtract(New TimeSpan(inactiveDays,
 0, 0, 0)), _
                 currentPage - 1, pageSize, totalProfiles)
  Else
    profiles = provider.FindProfilesByUserName(authOption, _
                 UserNameTextBox.Text, _
                 currentPage - 1, pageSize, totalProfiles)
  End If

  Return profiles
End Function

Private Sub ShowProfiles()
  If UserNameTextBox.Text.Trim() = ""
 Then  
    Msg.Text = "Please specify a user name."
    NavigationPanel.Visible = False
    ProfileGrid.Visible = False
    Return
  End If
  
  Msg.Text = ""
  ProfileGrid.Visible = True

  ProfileGrid.DataSource = GetProfiles()

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

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

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

  ProfileGrid.DataBind()

  TotalProfilesLabel.Text = totalProfiles.ToString()
  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
  ShowProfiles()
End Sub

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

Public Sub GoButton_OnClick(sender As
 Object, args As EventArgs)
  currentPage = 1
  ShowProfiles()
End Sub

Public Sub ShowInactiveCheckBox_OnCheckedChanged(sender
 As Object, args As EventArgs)
  ShowProfiles()
End Sub

Public Sub DeleteButton_OnClick(sender As
 Object, args As EventArgs)
  provider.DeleteProfiles(GetProfiles())
  DeletedMessage.Text = totalProfiles.ToString() & " profiles
 deleted."
  ShowProfiles()
End Sub

Public Sub AuthenticationOptionListBox_OnSelectedIndexChanged(sender
 As Object, args As EventArgs)
  authOption = GetAuthenticationOption()
  ShowProfiles()
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

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

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

  <asp:Label id="Msg" runat="Server"
 ForeColor="red" /><BR>

  <table border=0 cellpadding=3 cellspacing=3>
    <tr>
      <td valign="top">UserName to
 Search for</td>
      <td valign="top" colspan="2">
        <asp:TextBox id="UserNameTextBox" runat="server"
 />
        <asp:Button id="GoButton" Text="
 Go " OnClick="GoButton_OnClick" runat="server"
 /><BR>
      </td>
    </tr>
    <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>
      <td valign="top"><asp:CheckBox id="ShowInactiveCheckBox"
 Checked="False" 
                                     AutoPostBack="True" runat="server"
                                     OnCheckedChanged="ShowInactiveCheckBox_OnCheckedChanged"
 />
                       Show profiles inactive for
                       <asp:Label id="InactiveDaysLabel"
 runat="server" />
                       days only.<BR>
                       There are <asp:Label id="InactiveProfilesLabel"
 runat="server" />
                       inactive profiles.
      </td>
    </tr>
    <tr>
      <td><asp:Button id="DeleteButton" runat="server"
 
                      Text="Delete Profiles" OnClick="DeleteButton_OnClick"
 />
          <BR><i>(based on search results)</i>
      </td>
      <td valign="top"><asp:Label id="DeletedMessage"
 runat="server" /></td>
    </tr>
  </table>

  <asp:Panel id="NavigationPanel" Visible="False"
 runat="server">
    <asp:Label id="TotalProfilesLabel" runat="server"
 /> profile(s) found.
    <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:DataGrid id="ProfileGrid" runat="server"
                CellPadding="2" CellSpacing="1"
                Gridlines="Both">
    <HeaderStyle BackColor="darkblue" ForeColor="white"
 />
  </asp:DataGrid>

</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;
SqlProfileProvider provider;

int inactiveDays = 90;

public void Page_Load()
{
  InactiveDaysLabel.Text = inactiveDays.ToString();
  authOption = GetAuthenticationOption();

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

  InactiveProfilesLabel.Text = provider.GetNumberOfInactiveProfiles(authOption,
               DateTime.Now.Subtract(new TimeSpan(inactiveDays,
 0, 0, 0))).ToString();

  DeletedMessage.Text = "";
}


private ProfileInfoCollection GetProfiles()
{
  ProfileInfoCollection profiles;

  if (ShowInactiveCheckBox.Checked)
  {
    profiles = provider.FindInactiveProfilesByUserName(authOption, 
                 UserNameTextBox.Text, 
                 DateTime.Now.Subtract(new TimeSpan(inactiveDays,
 0, 0, 0)),
                 currentPage - 1, pageSize, out totalProfiles);
  }
  else
  {
    profiles = provider.FindProfilesByUserName(authOption, 
                 UserNameTextBox.Text, 
                 currentPage - 1, pageSize, out totalProfiles);
  }

  return profiles;
}

private void ShowProfiles()
{
  if (UserNameTextBox.Text.Trim() == "")
  {
    Msg.Text = "Please specify a user name.";
    NavigationPanel.Visible = false;
    ProfileGrid.Visible = false;
    return;
  }
  
  Msg.Text = "";
  ProfileGrid.Visible = true;

  ProfileGrid.DataSource = GetProfiles();

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

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

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

  ProfileGrid.DataBind();

  TotalProfilesLabel.Text = totalProfiles.ToString();
  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++;
  ShowProfiles();
}

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

public void GoButton_OnClick(object sender,
 EventArgs args)
{
  currentPage = 1;
  ShowProfiles();
}

public void ShowInactiveCheckBox_OnCheckedChanged(object
 sender, EventArgs args)
{
  ShowProfiles();
}

public void DeleteButton_OnClick(object sender,
 EventArgs args)
{
  provider.DeleteProfiles(GetProfiles());
  DeletedMessage.Text = totalProfiles.ToString() + " profiles deleted.";
  ShowProfiles();
}

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

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;
}

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

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

  <asp:Label id="Msg" runat="Server" ForeColor="red"
 /><BR>

  <table border=0 cellpadding=3 cellspacing=3>
    <tr>
      <td valign="top">UserName to Search for:</td>
      <td valign="top" colspan="2">
        <asp:TextBox id="UserNameTextBox" runat="server" />
        <asp:Button id="GoButton" Text=" Go " OnClick="GoButton_OnClick"
 runat="server" /><BR>
      </td>
    </tr>
    <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>
      <td valign="top"><asp:CheckBox id="ShowInactiveCheckBox"
 Checked="false" 
                                     AutoPostBack="true"
 runat="server"
                                     OnCheckedChanged="ShowInactiveCheckBox_OnCheckedChanged"
 />
                       Show profiles inactive for
                       <asp:Label id="InactiveDaysLabel" runat="server"
 />
                       days only.<BR>
                       There are <asp:Label id="InactiveProfilesLabel"
 runat="server" />
                       inactive profiles.
      </td>
    </tr>
    <tr>
      <td><asp:Button id="DeleteButton" runat="server"
 
                      Text="Delete Profiles" OnClick="DeleteButton_OnClick"
 />
          <BR><i>(based on search results)</i>
      </td>
      <td valign="top"><asp:Label id="DeletedMessage"
 runat="server" /></td>
    </tr>
  </table>

  <asp:Panel id="NavigationPanel" Visible="false"
 runat="server">
    <asp:Label id="TotalProfilesLabel" runat="server" />
 profile(s) found.
    <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:DataGrid id="ProfileGrid" runat="server"
                CellPadding="2" CellSpacing="1"
                Gridlines="Both">
    <HeaderStyle BackColor="darkblue" ForeColor="white" />
  </asp:DataGrid>

</form>

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



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

辞書ショートカット

すべての辞書の索引

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

   

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



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

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

©2025 GRAS Group, Inc.RSS