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.

ProfileBase الفئة

Visual Studio 2010

يوفر الوصول إلى مصنف إلى ملف تعريف قيم الخصائص و المعلومات.

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

public class ProfileBase : SettingsBase

يستخدم ASP.NET ProfileBaseالفئة لإنشاء الفئة مستخدمة ملف تعرف مستخدم. عند تطبيق يحتوي على يحلل للمستخدم تمكين هو يبدأ بالتشغيل, ينشئ ASP.NET فئة جديدة من نوع ProfileCommon، الذي يرث من ProfileBaseclass. تضاف accessors مكتوب بشدة إلى ProfileCommonفئة لكل خاصية المعرفة في مقطع تكوين يحلل . accessors مكتوب بشدة من ProfileCommonفئة الاستدعاء GetPropertyValueو SetPropertyValueوظائف ProfileBaseإسناد الفئة إلى استرداد وقم بتعيين ملف تعريف قيم الخصائص، على التوالي. مثيل ProfileCommonالفئة هو تعيينها كالقيمة Profileخاصية لتطبيق ASP.NET.

لإنشاء مثيل للتشكيل الجانبي للمستخدم في أحد تطبيقات ASP.NET، فإنه هو المستحسن استخدام Createالأسلوب.

ملاحظات للمسئولين عن الإرث

يمكنك إنشاء تطبيق التشكيل جانبي مخصص الذي يرث من ProfileBaseمجردة الفئة والخصائص لتعريف ملف تعرف المستخدم التي لم يتم تحديد في عنصر تكوين يحلل . يمكنك تحديد نوع ملف تعريف مستخدم مخصصة في ملف ويب.config مع inheritsالسمة من يحلل عنصر تكوين، كما هو موضح فيما يلي مثال. التعليمة البرمجية ل EmployeeProfileالفئة هو المضمنة في مقطع مثال لترتيب هو الموضوع.

<profile inherits="Samples.AspNet.Profile.EmployeeProfile"
  defaultProvider="SqlProvider">
  <providers>
    <clear />
    <add
      name="SqlProvider"
      type="System.Web.Profile.SqlProfileProvider" 
      connectionStringName="SqlServices" 
      description="SQL Profile Provider for Sample"/> 
    <add
      name="EmployeeInfoProvider"
      type="System.Web.Profile.SqlProfileProvider" 
      connectionStringName="SqlServices" 
      description="SQL Profile Provider for Employee Info"/> 
  </providers>

  <properties>
    <add name="GarmentSize" />
  </properties>
</profile>

يظهر مثال التعليمة البرمجية التالية ملف ويب.config يحدد ملف تعرف المستخدم التي تحتوي على على ZipCodeخاصية من نوع stringو RecentSearchListخاصية من نوع StringCollection. المنشأ Profileخاصية الحالي HttpContextشدة كتابة accessors لكل من الخصائص المحددة.

<configuration>
  <system.web>
    <anonymousIdentification enabled="true" />

    <profile enabled="true" defaultProvider="SqlProvider" >
      <properties>
        <add name="ZipCode" allowAnonymous="true" />
        <add name="RecentSearchList"
          type="System.Collections.Specialized.StringCollection"
          serializeAs="Xml"
          allowAnonymous="true" />
      </properties>
    </profile>
  </system.web>
</configuration>

يظهر المثال تعليمات برمجية التالي صفحة ASP.NET التي تقرأ ويقوم بتعيين ZipCodeخاصية المحددة للمستخدم يحلل. قبل محاولة تشغيل هذا تعليمات برمجية، تعيين الموفر الافتراضي AspNetSqlProviderفي إعدادات تكوين ASP.NET لموقع ويب.


<%@ Page Language="C#" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">

public void Page_PreRender()
{
  if (Profile.ZipCode == null)
  {
    PersonalizePanel.Visible = false;
    GetZipCodePanel.Visible = true;
  }
  else
  {
    ZipCodeLabel.Text = Profile.ZipCode;

    // Get personalized information for zip code here.

    PersonalizePanel.Visible = true;
    GetZipCodePanel.Visible = false;
  }
}

public void ChangeZipCode_OnClick(object sender, EventArgs args)
{
  ZipCodeTextBox.Text = Profile.ZipCode;
  Profile.ZipCode = null;

  PersonalizePanel.Visible = false;
  GetZipCodePanel.Visible = true;
}

public void EnterZipCode_OnClick(object sender, EventArgs args)
{
  Profile.ZipCode = ZipCodeTextBox.Text;
}

</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
<title>Home Page</title>
</head>
<body>

<form id="form1" runat="server">
  <table border="1" cellpadding="2" cellspacing="2">
    <tr>
      <td>
        <asp:Panel id="PersonalizePanel" runat="Server" Visible="False">
          Information for Zip Code: <asp:Label id="ZipCodeLabel" Runat="Server" /><br />
          <!-- Information for Zip Code here. -->
          <br />
          <asp:LinkButton id="ChangeZipCodeButton" Runat="Server" Text="Change Your Zip Code"
                          OnClick="ChangeZipCode_OnClick" />
        </asp:Panel>
        <asp:Panel id="GetZipCodePanel" runat="Server" Visible="False">
          You can personalize this page by entering your Zip Code: 
          <asp:TextBox id="ZipCodeTextBox" Columns="5" MaxLength="5" runat="Server" />
          <asp:LinkButton id="EnterZipCodeButton" Runat="Server" Text="Go"
                          OnClick="EnterZipCode_OnClick" />
        </asp:Panel>
      </td>
    </tr>
  </table>
</form>

</body>
</html>


مثال التعليمة البرمجية التالية بتعريف فئة التي ترث من ProfileBaseالفئة لإنشاء مخصص يحلل. نوع يحلل المخصص هو المعين في inheritsالسمة الخاصة عنصر تكوين يحلل في ملف ويب.config لتطبيق.

ملاحظة الأمانملاحظة الأمان

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


using System;
using System.Web.Profile;

namespace Samples.AspNet.Profile
{
  public class EmployeeProfile : ProfileBase
  {
    [SettingsAllowAnonymous(false)]
    [ProfileProvider("EmployeeInfoProvider")]
    public string Department
    {
      get { return base["EmployeeDepartment"].ToString(); }
      set { base["EmployeeDepartment"] = value; }
    }

    [SettingsAllowAnonymous(false)]
    [ProfileProvider("EmployeeInfoProvider")]
    public EmployeeInfo Details
    {
      get { return (EmployeeInfo)base["EmployeeInfo"]; }
      set { base["EmployeeInfo"] = value; }
    }

  }

  public class EmployeeInfo
  {
    public string Name;
    public string Address;
    public string Phone;
    public string EmergencyContactName;
    public string EmergencyContactAddress;
    public string EmergencyContactPhone;
  }
}


يتم تأمين العملية الجزئية لأي عضو عمومي ثابت (مشترك في Visual Basic) من هذا النوع. لن يتم ضمان تأمين العملية الجزئية لأي عضو مثيل.

نظام التشغيل 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
إظهار: