ProfileBase ProfileBase ProfileBase ProfileBase Class

Définition

Fournit l'accès non typé aux informations et aux valeurs de propriété de profil.Provides untyped access to profile property values and information.

public ref class ProfileBase : System::Configuration::SettingsBase
public class ProfileBase : System.Configuration.SettingsBase
type ProfileBase = class
    inherit SettingsBase
Public Class ProfileBase
Inherits SettingsBase
Héritage
Dérivé

Exemples

L’exemple de code suivant montre un fichier Web. config qui spécifie un profil utilisateur qui ZipCode contient une propriété string de type RecentSearchList et une propriété StringCollectionde type.The following code example shows a Web.config file that specifies a user profile that contains a ZipCode property of type string and a RecentSearchList property of type StringCollection. La propriété Profile générée du actuel HttpContext aura des accesseurs fortement typés pour chacune des propriétés spécifiées.The generated Profile property of the current HttpContext will have strongly typed accessors for each of the specified properties.

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

L’exemple suivant montre une page ASP.net qui lit et définit la ZipCode propriété spécifiée pour le profil utilisateur.The following example shows an ASP.NET page that reads and sets the ZipCode property specified for the user profile. Avant de tenter d’exécuter ce code, définissez le fournisseur sur la AspNetSqlProvider valeur par défaut dans les paramètres de configuration ASP.net pour le site Web.Before attempting to run this code, set the provider to the default AspNetSqlProvider in the ASP.NET configuration settings for the Web site.

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

Public Sub Page_PreRender()

  If Profile.ZipCode = Nothing Then
    PersonalizePanel.Visible = False
    GetZipCodePanel.Visible = True
  Else
    ZipCodeLabel.Text = Profile.ZipCode

    ' Get personalized information for zip code here.

    PersonalizePanel.Visible = True
    GetZipCodePanel.Visible = False
  End If

End Sub

Public Sub ChangeZipCode_OnClick(sender As Object, args As EventArgs)
  ZipCodeTextBox.Text = Profile.ZipCode
  Profile.ZipCode = Nothing

  PersonalizePanel.Visible = False
  GetZipCodePanel.Visible = True
End Sub

Public Sub EnterZipCode_OnClick(sender As Object, args As EventArgs)
  Profile.ZipCode = ZipCodeTextBox.Text
End Sub

</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>

L’exemple de code suivant définit une classe qui hérite de ProfileBase la classe pour créer un profil personnalisé.The following code example defines a class that inherits from the ProfileBase class to create a custom profile. Le type du profil personnalisé est spécifié dans l' inherits attribut de l’élément de configuration du Profil dans le fichier Web. config d’une application.The type of the custom profile is specified in the inherits attribute of the profile configuration element in the Web.config file for an application.

Important

Cet exemple contient une zone de texte qui accepte les entrées de l’utilisateur, ce qui constitue une menace potentielle pour la sécurité.This example contains a text box that accepts user input, which is a potential security threat. Par défaut, les pages web ASP.NET vérifient que l’entrée d’utilisateur n’inclut pas de script ou d’éléments HTML.By default, ASP.NET Web pages validate that user input does not include script or HTML elements. Pour plus d’informations, consultez Vue d’ensemble des attaques de script.For more information, see Script Exploits Overview.

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;
  }
}
Imports System.Web.Profile

Namespace Samples.AspNet.Profile

  Public Class EmployeeProfile
    Inherits ProfileBase

    <SettingsAllowAnonymous(False)> _
    <ProfileProvider("EmployeeInfoProvider")> _
    Public Property Department As String
      Get
        Return MyBase.Item("EmployeeDepartment").ToString()
      End Get
      Set
        MyBase.Item("EmployeeDepartment") = value
      End Set
    End Property

    <SettingsAllowAnonymous(False)> _
    <ProfileProvider("EmployeeInfoProvider")> _
    Public Property Details As EmployeeInfo
      Get
        Return CType(MyBase.Item("EmployeeInfo"), EmployeeInfo)
      End Get
      Set
        MyBase.Item("EmployeeInfo") = value
      End Set
    End Property
  End Class

  Public Class EmployeeInfo
    Public Name As String
    Public Address As String
    Public Phone As String
    Public EmergencyContactName As String
    Public EmergencyContactAddress As String
    Public EmergencyContactPhone As String
  End Class

End Namespace

Remarques

ASP.NET utilise la ProfileBase classe pour créer la classe utilisée pour le profil utilisateur.ASP.NET uses the ProfileBase class to create the class used for the user profile. Quand une application sur laquelle le profil utilisateur est activé est démarrée, ASP.NET crée une nouvelle classe ProfileCommonde type, qui hérite ProfileBase de la classe.When an application that has the user profile enabled is started, ASP.NET creates a new class of type ProfileCommon, which inherits from the ProfileBase class. Des accesseurs fortement typés sont ajoutés ProfileCommon à la classe pour chaque propriété définie dans la section de configuration de Profil .Strongly typed accessors are added to the ProfileCommon class for each property defined in the profile configuration section. Les accesseurs fortement typés de ProfileCommon la classe appellent GetPropertyValue les SetPropertyValue méthodes et de ProfileBase la classe de base pour récupérer et définir des valeurs de propriété de profil, respectivement.The strongly typed accessors of the ProfileCommon class call the GetPropertyValue and SetPropertyValue methods of the ProfileBase base class to retrieve and set profile property values, respectively. Une instance de la ProfileCommon classe est définie en tant que valeur de Profile la propriété pour l’application ASP.net.An instance of the ProfileCommon class is set as the value of the Profile property for the ASP.NET application.

Pour créer une instance d’un profil utilisateur dans une application ASP.net, il est recommandé d’utiliser la Create méthode.To create an instance of a user profile in an ASP.NET application, it is recommended that you use the Create method.

Remarques à l'attention des héritiersNotes to Inheritors

Vous pouvez créer une implémentation de profil personnalisée qui hérite de ProfileBase la classe abstraite et définit des propriétés pour le profil utilisateur qui ne sont pas spécifiées dans l’élément de configuration de Profil .You can create a custom profile implementation that inherits from the ProfileBase abstract class and defines properties for the user profile that are not specified in the profile configuration element. Vous pouvez spécifier un type de profil utilisateur personnalisé dans le fichier Web. config avec l' inherits attribut de l’élément de configuration de Profil , comme indiqué dans l’exemple suivant.You can specify a custom user-profile type in the web.config file with the inherits attribute of the profile configuration element, as shown in the following example. Le code de la EmployeeProfile classe est inclus dans la section exemple de cette rubrique.The code for the EmployeeProfile class is included in the Example section of this topic.

<configuration>
   <system.web>
      <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>  
   </system.web>
</configuration>

Constructeurs

ProfileBase() ProfileBase() ProfileBase() ProfileBase()

Crée une instance de la classe ProfileBase.Creates an instance of the ProfileBase class.

Propriétés

Context Context Context Context

Obtient le contexte de paramètres associé.Gets the associated settings context.

(Inherited from SettingsBase)
IsAnonymous IsAnonymous IsAnonymous IsAnonymous

Obtient une valeur qui indique si le profil utilisateur est destiné à un utilisateur anonyme.Gets a value indicating whether the user profile is for an anonymous user.

IsDirty IsDirty IsDirty IsDirty

Obtient une valeur qui indique si l'une des propriétés de profil a été modifiée.Gets a value indicating whether any of the profile properties have been modified.

IsSynchronized IsSynchronized IsSynchronized IsSynchronized

Obtient une valeur indiquant si l'accès à l'objet est synchronisé (thread-safe).Gets a value indicating whether access to the object is synchronized (thread safe).

(Inherited from SettingsBase)
Item[String] Item[String] Item[String] Item[String]

Obtient ou définit une valeur de propriété de profil indexée par le nom de propriété.Gets or sets a profile property value indexed by the property name.

LastActivityDate LastActivityDate LastActivityDate LastActivityDate

Obtient la date et l'heure de dernière lecture ou modification du profil.Gets the most recent date and time that the profile was read or modified.

LastUpdatedDate LastUpdatedDate LastUpdatedDate LastUpdatedDate

Obtient la date et l'heure de dernière modification du profil.Gets the most recent date and time that the profile was modified.

Properties Properties Properties Properties

Obtient une collection d'objets SettingsProperty pour chaque propriété dans le profil.Gets a collection of SettingsProperty objects for each property in the profile.

PropertyValues PropertyValues PropertyValues PropertyValues

Obtient une collection de valeurs de propriété de paramètres.Gets a collection of settings property values.

(Inherited from SettingsBase)
Providers Providers Providers Providers

Obtient une collection de fournisseurs de paramètres.Gets a collection of settings providers.

(Inherited from SettingsBase)
UserName UserName UserName UserName

Obtient le nom d'utilisateur du profil.Gets the user name for the profile.

Méthodes

Create(String) Create(String) Create(String) Create(String)

Utilisé par ASP.NET afin de créer une instance d'un profil pour le nom d'utilisateur spécifié.Used by ASP.NET to create an instance of a profile for the specified user name.

Create(String, Boolean) Create(String, Boolean) Create(String, Boolean) Create(String, Boolean)

Utilisé par ASP.NET afin de créer une instance d'un profil pour le nom d'utilisateur spécifié.Used by ASP.NET to create an instance of a profile for the specified user name. Prend un paramètre qui indique si l'utilisateur est authentifié ou anonyme.Takes a parameter indicating whether the user is authenticated or anonymous.

Equals(Object) Equals(Object) Equals(Object) Equals(Object)

Détermine si l'objet spécifié est identique à l'objet actuel.Determines whether the specified object is equal to the current object.

(Inherited from Object)
GetHashCode() GetHashCode() GetHashCode() GetHashCode()

Fait office de fonction de hachage par défaut.Serves as the default hash function.

(Inherited from Object)
GetProfileGroup(String) GetProfileGroup(String) GetProfileGroup(String) GetProfileGroup(String)

Obtient un groupe de propriétés identifié par un nom de groupe.Gets a group of properties identified by a group name.

GetPropertyValue(String) GetPropertyValue(String) GetPropertyValue(String) GetPropertyValue(String)

Obtient la valeur d'une propriété de profil.Gets the value of a profile property.

GetType() GetType() GetType() GetType()

Obtient le Type de l'instance actuelle.Gets the Type of the current instance.

(Inherited from Object)
Initialize(SettingsContext, SettingsPropertyCollection, SettingsProviderCollection) Initialize(SettingsContext, SettingsPropertyCollection, SettingsProviderCollection) Initialize(SettingsContext, SettingsPropertyCollection, SettingsProviderCollection) Initialize(SettingsContext, SettingsPropertyCollection, SettingsProviderCollection)

Initialise les propriétés internes utilisées par l'objet SettingsBase.Initializes internal properties used by SettingsBase object.

(Inherited from SettingsBase)
Initialize(String, Boolean) Initialize(String, Boolean) Initialize(String, Boolean) Initialize(String, Boolean)

Initialise les informations et les valeurs des propriétés du profil de l'utilisateur en cours.Initializes the profile property values and information for the current user.

MemberwiseClone() MemberwiseClone() MemberwiseClone() MemberwiseClone()

Crée une copie superficielle de l'objet Object actuel.Creates a shallow copy of the current Object.

(Inherited from Object)
Save() Save() Save() Save()

Met à jour la source de donnée de profil avec les valeurs de propriété de profil modifiées.Updates the profile data source with changed profile property values.

SetPropertyValue(String, Object) SetPropertyValue(String, Object) SetPropertyValue(String, Object) SetPropertyValue(String, Object)

Définit la valeur d'une propriété de profil.Sets the value of a profile property.

ToString() ToString() ToString() ToString()

Retourne une chaîne qui représente l'objet actuel.Returns a string that represents the current object.

(Inherited from Object)

S’applique à

Voir aussi