This article was translated by machine. To view in the article in English, select the English check box. You can also display the English text in a popup window by moving the mouse pointer over the text.
الترجمة
الأصلي
This documentation is archived and is not being maintained.

SqlProfileProvider.GetAllInactiveProfiles أسلوب

Visual Studio 2010

يسترد ملف تعرف مستخدم بيانات للتشكيلات الجانبية لحدث آخر تاريخ للنشاط في أو قبل تاريخ ووقت محددين.

مساحة الاسم:  System.Web.Profile
التجميع:  System.Web (في System.Web.dll)

public override ProfileInfoCollection GetAllInactiveProfiles(
	ProfileAuthenticationOption authenticationOption,
	DateTime userInactiveSinceDate,
	int pageIndex,
	int pageSize,
	out int totalRecords
)

المعلمات

authenticationOption
النوع: System.Web.Profile.ProfileAuthenticationOption
واحد ProfileAuthenticationOptionقيم، يحدد ما إذا كان مجهول، مصادقة، أو كلا النوعين من ملفات التعريف التي يتم إرجاعها.
userInactiveSinceDate
النوع: System.DateTime
DateTime التي تعرف ملفات تعريف المستخدمين التي تعتبر غير نشط. إذا LastActivityDateمستخدم يحلل يحدث في أو قبل th هو التاريخ والوقت، ويحلل للألوان هو بعين الاعتبار غير نشط.
pageIndex
النوع: System.Int32
رقم صفحة النتائج إلى العودة. pageIndexهو zero-based.
pageSize
النوع: System.Int32
الحجم صفحة نتائج إلى العودة.
totalRecords
النوع: System.Int32%
عند ذلك أسلوب إرجاع، يحتوي على عدد صحيح يحدد العدد الإجمالي للتشكيلات الجانبية. يتم تمرير هذه المعلمة غير مهيأ.

القيمة المُرجعة

النوع: System.Web.Profile.ProfileInfoCollection
ProfileInfoCollection التي تحتوي على معلومات ملف تعريف مستخدم حول غير نشط التشكيلات الجانبية.

استثناء:شرط
ArgumentException

pageIndex أقل من الصفر.

-أو-

pageSizeهو أصغر من من واحد.

-أو-

pageIndexضربpageSizeهو بقعة صغيرة منMaxValue.

GetAllInactiveProfiles أسلوب هو مستخدمة لاسترداد معلومات التشكيل الجانبي من مصدر بيانات للتشكيلات الجانبية للمستخدم غير مستخدم للتطبيق المحدد بواسطة applicationNameالسمة في ملف تكوين. استخدام authenticationOptionمعلمة إلى تحديد ما إذا كنت تريد ملفات فقط المجهول التعريف، فقط المصادقة على ملفات التعريف، أو الجميع ملفات تعريف إلى يمكن البحث فيه. ملفات التعريف searched، أي يحلل مع على LastActivityDateالتي تحدث قبل الفرعي userInactiveSinceDateالقيمة معلمة هو إرجاع.

الـنتائج التي تم إرجاعها من قبل GetAllInactiveProfiles مقيدة بواسطة معلمات pageIndex و pageSize. تعرف معلمات pageSize الحد الأقصى من كائنات ProfileInfo لإرجاعها في ProfileInfoCollection. pageIndexمعلمة يعرف أي صفحة نتائج إلى إرجاع; 0 يعرف الصفحة الأولى. totalRecordsمعلمة outمعلمة التي تم تعيينها إلى إجمالي عدد غير نشط التشكيلات الجانبية للمستخدم للمكون applicationName، استناداً إلى authenticationOptionو userInactiveSinceDateمعلمات. على سبيل المثال، إذا كان هناك 13 مستخدمين ل المكون applicationName، و pageIndexالقيمة هي 1 pageSizeProfileInfoCollectionإرجاع سيتضمن السادس من خلال العاشر التشكيلات الجانبية غير نشطة. totalRecordsسيتم تعيين معلمة إلى 13.

يوضح المثال تعليمات برمجية التالية صفحة ASP.NET الذي يقوم بإدارة التشكيلات الجانبية غير نشطة. زر هو لحذف الجميع ملفات تعريف غير نشط. ما إذا كان ملف تعريف هو بعين الاعتبار غير نشط هو استناداً إلى التاريخ المحدد ل userInactiveSinceDateمعلمة.


<%@ Page Language="C#" %>
<%@ Import Namespace="System.Web.Profile" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<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 xmlns="http://www.w3.org/1999/xhtml" >
<head>
<title>Sample: Find Profiles</title>
</head>
<body>

<form id="form1" 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" style="width:160">
        Number of Days for Profile to be considered "inactive"</td>
      <td valign="top" style="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 style="width:100">Page <asp:Label id="CurrentPageLabel" runat="server" />
            of <asp:Label id="TotalPagesLabel" runat="server" /></td>
        <td style="width:60"><asp:LinkButton id="PreviousButton" Text="< Prev"
                            OnClick="PreviousButton_OnClick" runat="server" /></td>
        <td style="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 HeaderText="User Name" DataField="Username" />
      <asp:BoundField HeaderText="Is Anonymous" DataField="IsAnonymous" />
      <asp:BoundField HeaderText="Last Updated" DataField="LastUpdatedDate" />
      <asp:BoundField HeaderText="Last Activity" DataField="LastActivityDate" />
      <asp:ButtonField HeaderText="Action" Text="Delete" ButtonType="Link" />
    </Columns>
  </asp:GridView>

</form>

</body>
</html>


نظام التشغيل Windows 7, Windows Vista, Windows XP SP2, Windows XP Media Center Edition, الإصدار x64 من نظام التشغيل Windows XP Professional, Windows XP Starter Edition, Windows Server 2008, نظام التشغيل Windows Server 2003, نظام التشغيل Windows Server 2000 المزود بحزمة الخدمة SP4, نظام التشغيل Windows Millennium Edition, نظام التشغيل Windows 98

لا يدعم .NET Framework و .NET Compact Framework كافة الإصدارات الخاصة بكل نظام أساسي. للحصول على قائمة بالإصدارات المدعمة، راجع متطلبات النظام إطار عمل .NET.

.NET Framework

مدعوم في: 4, 3.5, 3.0, 2.0
إظهار: