ProfileSection Kelas
Definisi
Penting
Beberapa informasi terkait produk prarilis yang dapat diubah secara signifikan sebelum dirilis. Microsoft tidak memberikan jaminan, tersirat maupun tersurat, sehubungan dengan informasi yang diberikan di sini.
Kelas ini ProfileSection menyediakan cara untuk mengakses dan memodifikasi profile
bagian file konfigurasi secara terprogram. Kelas ini tidak dapat diwariskan.
public ref class ProfileSection sealed : System::Configuration::ConfigurationSection
public sealed class ProfileSection : System.Configuration.ConfigurationSection
type ProfileSection = class
inherit ConfigurationSection
Public NotInheritable Class ProfileSection
Inherits ConfigurationSection
- Warisan
Contoh
Kutipan file konfigurasi berikut menunjukkan cara menentukan nilai secara deklaratif untuk beberapa properti ProfileSection kelas.
<system.web>
<profile enabled = "true"
defaultProvider="AspNetSqlProfileProvider">
<providers>
<add name="AspNetSqlProfileProvider"
type="System.Web.Profile.SqlProfileProvider"
connectionStringName="LocalSqlServer"
applicationName="/"
description="Stores and retrieves profile data from the
local Microsoft SQL Server database" />
</providers>
<properties>
<add name = "FirstName"/>
<add name = "LastName"/>
<add name = "FavoriteURLs" type =
"System.Collection.Specialized.StringCollection, System"
serializeAs = "Xml"/>
<add name = "ShoppingCart" type =
"MyCommerce.ShoppingCart, MyCommerce"
serializeAs = "Binary"/>
<group name = "SiteColors" >
<add name = "BackGround"/>
<add name = "SideBar"/>
<add name = "ForeGroundText"/>
<add name = "ForeGroundBorders"/>
</group>
<group name="Forums">
<add name = "HasAvatar" type="bool" provider="Forums"/>
<add name = "LastLogin" type="DateTime" provider="Forums"/>
<add name = "TotalPosts" type="int" provider="Forums"/>
</group>
</properties>
</profile>
</system.web>
Contoh kode berikut menunjukkan cara menggunakan jenis .ProfileSection
using System;
using System.Collections;
using System.Collections.Specialized;
using System.IO;
using System.Text;
using System.Text.RegularExpressions;
using System.Configuration;
using System.Web.Configuration;
namespace Samples.Aspnet.SystemWebConfiguration
{
// Accesses the System.Web.Configuration.ProfileSection members
// selected by the user.
class UsingProfileSection
{
public static void Main()
{
// Process the System.Web.Configuration.ProfileSectionobject.
try
{
// Get the Web application configuration.
System.Configuration.Configuration configuration =
System.Web.Configuration.WebConfigurationManager.OpenWebConfiguration("/aspnet");
// Get the section.
System.Web.Configuration.ProfileSection profileSection =
(System.Web.Configuration.ProfileSection)
configuration.GetSection("system.web/profile");
// Get the current AutomaticSaveEnabled property value.
Console.WriteLine(
"Current AutomaticSaveEnabled value: '{0}'", profileSection.AutomaticSaveEnabled);
// Set the AutomaticSaveEnabled property to false.
profileSection.AutomaticSaveEnabled = false;
// Get the current DefaultProvider property value.
Console.WriteLine(
"Current DefaultProvider value: '{0}'", profileSection.DefaultProvider);
// Set the DefaultProvider property to "AspNetSqlProvider".
profileSection.DefaultProvider = "AspNetSqlProvider";
// Get the current Inherits property value.
Console.WriteLine(
"Current Inherits value: '{0}'", profileSection.Inherits);
// Set the Inherits property to
// "CustomProfiles.MyCustomProfile, CustomProfiles.dll".
profileSection.Inherits = "CustomProfiles.MyCustomProfile, CustomProfiles.dll";
// Display all current root ProfilePropertySettings.
Console.WriteLine("Current Root ProfilePropertySettings:");
int rootPPSCtr = 0;
foreach (ProfilePropertySettings rootPPS in profileSection.PropertySettings)
{
Console.WriteLine(" {0}: ProfilePropertySetting '{1}'", ++rootPPSCtr,
rootPPS.Name);
}
// Get and modify a root ProfilePropertySettings object.
Console.WriteLine(
"Display and modify 'LastReadDate' ProfilePropertySettings:");
ProfilePropertySettings profilePropertySettings =
profileSection.PropertySettings["LastReadDate"];
// Get the current ReadOnly property value.
Console.WriteLine(
"Current ReadOnly value: '{0}'", profilePropertySettings.ReadOnly);
// Set the ReadOnly property to true.
profilePropertySettings.ReadOnly = true;
// Get the current AllowAnonymous property value.
Console.WriteLine(
"Current AllowAnonymous value: '{0}'", profilePropertySettings.AllowAnonymous);
// Set the AllowAnonymous property to true.
profilePropertySettings.AllowAnonymous = true;
// Get the current SerializeAs property value.
Console.WriteLine(
"Current SerializeAs value: '{0}'", profilePropertySettings.SerializeAs);
// Set the SerializeAs property to SerializationMode.Binary.
profilePropertySettings.SerializeAs = SerializationMode.Binary;
// Get the current Type property value.
Console.WriteLine(
"Current Type value: '{0}'", profilePropertySettings.Type);
// Set the Type property to "System.DateTime".
profilePropertySettings.Type = "System.DateTime";
// Get the current DefaultValue property value.
Console.WriteLine(
"Current DefaultValue value: '{0}'", profilePropertySettings.DefaultValue);
// Set the DefaultValue property to "March 16, 2004".
profilePropertySettings.DefaultValue = "March 16, 2004";
// Get the current ProviderName property value.
Console.WriteLine(
"Current ProviderName value: '{0}'", profilePropertySettings.Provider);
// Set the ProviderName property to "AspNetSqlRoleProvider".
profilePropertySettings.Provider = "AspNetSqlRoleProvider";
// Get the current Name property value.
Console.WriteLine(
"Current Name value: '{0}'", profilePropertySettings.Name);
// Set the Name property to "LastAccessDate".
profilePropertySettings.Name = "LastAccessDate";
// Display all current ProfileGroupSettings.
Console.WriteLine("Current ProfileGroupSettings:");
int PGSCtr = 0;
foreach (ProfileGroupSettings propGroups in profileSection.PropertySettings.GroupSettings)
{
Console.WriteLine(" {0}: ProfileGroupSetting '{1}'", ++PGSCtr,
propGroups.Name);
int PPSCtr = 0;
foreach (ProfilePropertySettings props in propGroups.PropertySettings)
{
Console.WriteLine(" {0}: ProfilePropertySetting '{1}'", ++PPSCtr,
props.Name);
}
}
// Add a new group.
ProfileGroupSettings newPropGroup = new ProfileGroupSettings("Forum");
profileSection.PropertySettings.GroupSettings.Add(newPropGroup);
// Add a new PropertySettings to the group.
ProfilePropertySettings newProp = new ProfilePropertySettings("AvatarImage");
newProp.Type = "System.String, System.dll";
newPropGroup.PropertySettings.Add(newProp);
// Remove a PropertySettings from the group.
newPropGroup.PropertySettings.Remove("AvatarImage");
newPropGroup.PropertySettings.RemoveAt(0);
// Clear all PropertySettings from the group.
newPropGroup.PropertySettings.Clear();
// Display all current Providers.
Console.WriteLine("Current Providers:");
int providerCtr = 0;
foreach (ProviderSettings provider in profileSection.Providers)
{
Console.WriteLine(" {0}: Provider '{1}' of type '{2}'", ++providerCtr,
provider.Name, provider.Type);
}
// Add a new provider.
profileSection.Providers.Add(new ProviderSettings("AspNetSqlProvider", "...SqlProfileProvider"));
// Get the current Enabled property value.
Console.WriteLine(
"Current Enabled value: '{0}'", profileSection.Enabled);
// Set the Enabled property to false.
profileSection.Enabled = false;
// Update if not locked.
if (! profileSection.SectionInformation.IsLocked)
{
configuration.Save();
Console.WriteLine("** Configuration updated.");
}
else
{
Console.WriteLine("** Could not update, section is locked.");
}
}
catch (System.ArgumentException e)
{
// Unknown error.
Console.WriteLine(
"A invalid argument exception detected in UsingProfileSection Main. Check your");
Console.WriteLine("command line for errors.");
}
}
} // UsingProfileSection class end.
} // Samples.Aspnet.SystemWebConfiguration namespace end.
Imports System.Collections
Imports System.Collections.Specialized
Imports System.IO
Imports System.Text
Imports System.Text.RegularExpressions
Imports System.Configuration
Imports System.Web.Configuration
Namespace Samples.Aspnet.SystemWebConfiguration
' Accesses the System.Web.Configuration.ProfileSection members
' selected by the user.
Class UsingProfileSection
Public Shared Sub Main()
' Process the System.Web.Configuration.ProfileSectionobject.
Try
' Get the Web application configuration.
Dim configuration As System.Configuration.Configuration = System.Web.Configuration.WebConfigurationManager.OpenWebConfiguration("/aspnet")
' Get the section.
Dim profileSection As System.Web.Configuration.ProfileSection = CType(configuration.GetSection("system.web/profile"), System.Web.Configuration.ProfileSection)
' Get the current AutomaticSaveEnabled property value.
Console.WriteLine( _
"Current AutomaticSaveEnabled value: '{0}'", profileSection.AutomaticSaveEnabled)
' Set the AutomaticSaveEnabled property to false.
profileSection.AutomaticSaveEnabled = false
' Get the current DefaultProvider property value.
Console.WriteLine( _
"Current DefaultProvider value: '{0}'", profileSection.DefaultProvider)
' Set the DefaultProvider property to "AspNetSqlProvider".
profileSection.DefaultProvider = "AspNetSqlProvider"
' Get the current Inherits property value.
Console.WriteLine( _
"Current Inherits value: '{0}'", profileSection.Inherits)
' Set the Inherits property to
' "CustomProfiles.MyCustomProfile, CustomProfiles.dll".
profileSection.Inherits = "CustomProfiles.MyCustomProfile, CustomProfiles.dll"
' Display all current root ProfilePropertySettings.
Console.WriteLine("Current Root ProfilePropertySettings:")
Dim rootPPSCtr As Integer = 0
For Each rootPPS As ProfilePropertySettings In profileSection.PropertySettings
Console.WriteLine(" {0}: ProfilePropertySetting '{1}'", ++rootPPSCtr, _
rootPPS.Name)
Next
' Get and modify a root ProfilePropertySettings object.
Console.WriteLine( _
"Display and modify 'LastReadDate' ProfilePropertySettings:")
Dim profilePropertySettings As ProfilePropertySettings = _
profileSection.PropertySettings("LastReadDate")
' Get the current ReadOnly property value.
Console.WriteLine( _
"Current ReadOnly value: '{0}'", profilePropertySettings.ReadOnly)
' Set the ReadOnly property to true.
profilePropertySettings.ReadOnly = true
' Get the current AllowAnonymous property value.
Console.WriteLine( _
"Current AllowAnonymous value: '{0}'", profilePropertySettings.AllowAnonymous)
' Set the AllowAnonymous property to true.
profilePropertySettings.AllowAnonymous = true
' Get the current SerializeAs property value.
Console.WriteLine( _
"Current SerializeAs value: '{0}'", profilePropertySettings.SerializeAs)
' Set the SerializeAs property to SerializationMode.Binary.
profilePropertySettings.SerializeAs = SerializationMode.Binary
' Get the current Type property value.
Console.WriteLine( _
"Current Type value: '{0}'", profilePropertySettings.Type)
' Set the Type property to "System.DateTime".
profilePropertySettings.Type = "System.DateTime"
' Get the current DefaultValue property value.
Console.WriteLine( _
"Current DefaultValue value: '{0}'", profilePropertySettings.DefaultValue)
' Set the DefaultValue property to "March 16, 2004".
profilePropertySettings.DefaultValue = "March 16, 2004"
' Get the current ProviderName property value.
Console.WriteLine( _
"Current ProviderName value: '{0}'", profilePropertySettings.Provider)
' Set the ProviderName property to "AspNetSqlRoleProvider".
profilePropertySettings.Provider = "AspNetSqlRoleProvider"
' Get the current Name property value.
Console.WriteLine( _
"Current Name value: '{0}'", profilePropertySettings.Name)
' Set the Name property to "LastAccessDate".
profilePropertySettings.Name = "LastAccessDate"
' Display all current ProfileGroupSettings.
Console.WriteLine("Current ProfileGroupSettings:")
Dim PGSCtr As Integer = 0
For Each propGroups As ProfileGroupSettings In profileSection.PropertySettings.GroupSettings
Console.WriteLine(" {0}: ProfileGroupSettings '{1}'", ++PGSCtr, _
propGroups.Name)
Dim PPSCtr As Integer = 0
For Each props As ProfilePropertySettings In propGroups.PropertySettings
Console.WriteLine(" {0}: ProfilePropertySetting '{1}'", ++PPSCtr, _
props.Name)
Next
Next
' Add a new group.
Dim newPropGroup As ProfileGroupSettings = new ProfileGroupSettings("Forum")
profileSection.PropertySettings.GroupSettings.Add(newPropGroup)
' Add a new PropertySettings to the group.
Dim newProp As ProfilePropertySettings = new ProfilePropertySettings("AvatarImage")
newProp.Type = "System.String, System.dll"
newPropGroup.PropertySettings.Add(newProp)
' Remove a PropertySettings from the group.
newPropGroup.PropertySettings.Remove("AvatarImage")
newPropGroup.PropertySettings.RemoveAt(0)
' Clear all PropertySettings from the group.
newPropGroup.PropertySettings.Clear()
Console.WriteLine("Current Providers:")
Dim providerCtr As Integer = 0
For Each provider As ProviderSettings In profileSection.Providers
Console.WriteLine(" {0}: Provider '{1}' of type '{2}'", ++providerCtr, _
provider.Name, provider.Type)
Next
' Add a new provider.
profileSection.Providers.Add(new ProviderSettings("AspNetSqlProvider", "...SqlProfileProvider"))
' Get the current Enabled property value.
Console.WriteLine( _
"Current Enabled value: '{0}'", profileSection.Enabled)
' Set the Enabled property to false.
profileSection.Enabled = false
' Update if not locked.
If Not profileSection.SectionInformation.IsLocked Then
configuration.Save()
Console.WriteLine("** Configuration updated.")
Else
Console.WriteLine("** Could not update, section is locked.")
End If
Catch e As System.ArgumentException
' Unknown error.
Console.WriteLine( _
"A invalid argument exception detected in UsingProfileSection Main. Check your")
Console.WriteLine("command line for errors.")
End Try
End Sub
End Class
End Namespace ' Samples.Aspnet.SystemWebConfiguration
Keterangan
Kelas ini ProfileSection menyediakan cara untuk mengakses dan memodifikasi konten bagian file profile
konfigurasi secara terprogram. Bagian profile
file konfigurasi menentukan skema untuk profil pengguna. Pada durasi, sistem kompilasi ASP.NET menggunakan informasi yang ditentukan di bagian profile
untuk menghasilkan kelas yang disebut ProfileCommon
, yang berasal dari ProfileBase. Definisi ProfileCommon
kelas didasarkan pada properti yang ditentukan di bagian profile
file konfigurasi. Kelas ini memungkinkan Anda mengakses dan memodifikasi nilai untuk profil individual. Instans kelas ini dibuat untuk setiap profil pengguna, dan Anda dapat mengakses nilai profil individual dalam kode Anda melalui HttpContext.Profile properti . Untuk informasi selengkapnya tentang fitur profil yang ditambahkan ke ASP.NET 2.0, lihat Gambaran Umum Properti Profil ASP.NET.
Konstruktor
ProfileSection() |
Menginisialisasi instans ProfileSection baru kelas menggunakan pengaturan default. |
Properti
AutomaticSaveEnabled |
Mendapatkan atau menetapkan nilai yang menentukan apakah perubahan pada informasi profil pengguna secara otomatis disimpan saat keluar dari halaman. |
CurrentConfiguration |
Mendapatkan referensi ke instans tingkat Configuration atas yang mewakili hierarki konfigurasi tempat instans saat ini ConfigurationElement berada. (Diperoleh dari ConfigurationElement) |
DefaultProvider |
Mendapatkan atau mengatur nama penyedia profil default. |
ElementInformation |
ElementInformation Mendapatkan objek yang berisi informasi dan fungsionalitas ConfigurationElement objek yang tidak dapat disesuaikan. (Diperoleh dari ConfigurationElement) |
ElementProperty |
ConfigurationElementProperty Mendapatkan objek yang mewakili objek itu ConfigurationElement sendiri. (Diperoleh dari ConfigurationElement) |
Enabled |
Mendapatkan atau menetapkan nilai yang menunjukkan apakah fitur profil ASP.NET diaktifkan. |
EvaluationContext |
ContextInformation Mendapatkan objek untuk ConfigurationElement objek . (Diperoleh dari ConfigurationElement) |
HasContext |
Mendapatkan nilai yang menunjukkan apakah CurrentConfiguration properti adalah |
Inherits |
Mendapatkan atau mengatur referensi jenis untuk jenis kustom yang berasal dari ProfileBase. |
Item[ConfigurationProperty] |
Mendapatkan atau mengatur properti atau atribut elemen konfigurasi ini. (Diperoleh dari ConfigurationElement) |
Item[String] |
Mendapatkan atau mengatur properti, atribut, atau elemen turunan dari elemen konfigurasi ini. (Diperoleh dari ConfigurationElement) |
LockAllAttributesExcept |
Mendapatkan koleksi atribut terkunci. (Diperoleh dari ConfigurationElement) |
LockAllElementsExcept |
Mendapatkan koleksi elemen terkunci. (Diperoleh dari ConfigurationElement) |
LockAttributes |
Mendapatkan koleksi atribut terkunci. (Diperoleh dari ConfigurationElement) |
LockElements |
Mendapatkan koleksi elemen terkunci. (Diperoleh dari ConfigurationElement) |
LockItem |
Mendapatkan atau menetapkan nilai yang menunjukkan apakah elemen dikunci. (Diperoleh dari ConfigurationElement) |
Properties |
Mendapatkan koleksi properti. (Diperoleh dari ConfigurationElement) |
PropertySettings |
RootProfilePropertySettingsCollection Mendapatkan kumpulan ProfilePropertySettings objek. |
Providers |
Mendapatkan kumpulan ProviderSettings objek. |
SectionInformation |
SectionInformation Mendapatkan objek yang berisi informasi dan fungsionalitas ConfigurationSection objek yang tidak dapat disesuaikan. (Diperoleh dari ConfigurationSection) |
Metode
DeserializeElement(XmlReader, Boolean) |
Membaca XML dari file konfigurasi. (Diperoleh dari ConfigurationElement) |
DeserializeSection(XmlReader) |
Membaca XML dari file konfigurasi. (Diperoleh dari ConfigurationSection) |
Equals(Object) |
Membandingkan instans saat ini ConfigurationElement dengan objek yang ditentukan. (Diperoleh dari ConfigurationElement) |
GetHashCode() |
Mendapatkan nilai unik yang mewakili instans saat ini ConfigurationElement . (Diperoleh dari ConfigurationElement) |
GetRuntimeObject() |
Mengembalikan objek kustom saat ditimpa di kelas turunan. (Diperoleh dari ConfigurationSection) |
GetTransformedAssemblyString(String) |
Mengembalikan versi yang ditransformasi dari nama rakitan yang ditentukan. (Diperoleh dari ConfigurationElement) |
GetTransformedTypeString(String) |
Mengembalikan versi yang ditransformasi dari nama jenis yang ditentukan. (Diperoleh dari ConfigurationElement) |
GetType() |
Mendapatkan instans Type saat ini. (Diperoleh dari Object) |
Init() |
Mengatur objek ke ConfigurationElement status awalnya. (Diperoleh dari ConfigurationElement) |
InitializeDefault() |
Digunakan untuk menginisialisasi sekumpulan nilai default untuk ConfigurationElement objek. (Diperoleh dari ConfigurationElement) |
IsModified() |
Menunjukkan apakah elemen konfigurasi ini telah dimodifikasi sejak terakhir disimpan atau dimuat saat diimplementasikan di kelas turunan. (Diperoleh dari ConfigurationSection) |
IsReadOnly() |
Mendapatkan nilai yang menunjukkan apakah ConfigurationElement objek bersifat baca-saja. (Diperoleh dari ConfigurationElement) |
ListErrors(IList) |
Menambahkan kesalahan properti yang tidak valid dalam objek ini ConfigurationElement , dan di semua subelemen, ke daftar yang diteruskan. (Diperoleh dari ConfigurationElement) |
MemberwiseClone() |
Membuat salinan dangkal dari yang saat ini Object. (Diperoleh dari Object) |
OnDeserializeUnrecognizedAttribute(String, String) |
Mendapatkan nilai yang menunjukkan apakah atribut yang tidak diketahui ditemui selama deserialisasi. (Diperoleh dari ConfigurationElement) |
OnDeserializeUnrecognizedElement(String, XmlReader) |
Mendapatkan nilai yang menunjukkan apakah elemen yang tidak diketahui ditemui selama deserialisasi. (Diperoleh dari ConfigurationElement) |
OnRequiredPropertyNotFound(String) |
Memberikan pengecualian ketika properti yang diperlukan tidak ditemukan. (Diperoleh dari ConfigurationElement) |
PostDeserialize() |
Dipanggil setelah deserialisasi. (Diperoleh dari ConfigurationElement) |
PreSerialize(XmlWriter) |
Dipanggil sebelum serialisasi. (Diperoleh dari ConfigurationElement) |
Reset(ConfigurationElement) |
Mereset status ConfigurationElement internal objek, termasuk kunci dan koleksi properti. (Diperoleh dari ConfigurationElement) |
ResetModified() |
Mengatur ulang nilai metode ke IsModified() |
SerializeElement(XmlWriter, Boolean) |
Menulis konten elemen konfigurasi ini ke file konfigurasi saat diimplementasikan di kelas turunan. (Diperoleh dari ConfigurationElement) |
SerializeSection(ConfigurationElement, String, ConfigurationSaveMode) |
Membuat string XML yang berisi tampilan ConfigurationSection objek yang tidak tergabung sebagai satu bagian untuk menulis ke file. (Diperoleh dari ConfigurationSection) |
SerializeToXmlElement(XmlWriter, String) |
Menulis tag luar elemen konfigurasi ini ke file konfigurasi saat diimplementasikan di kelas turunan. (Diperoleh dari ConfigurationElement) |
SetPropertyValue(ConfigurationProperty, Object, Boolean) |
Mengatur properti ke nilai yang ditentukan. (Diperoleh dari ConfigurationElement) |
SetReadOnly() |
IsReadOnly() Mengatur properti untuk ConfigurationElement objek dan semua sublemen. (Diperoleh dari ConfigurationElement) |
ShouldSerializeElementInTargetVersion(ConfigurationElement, String, FrameworkName) |
Menunjukkan apakah elemen yang ditentukan harus diserialisasikan ketika hierarki objek konfigurasi diserialisasikan untuk versi target yang ditentukan dari .NET Framework. (Diperoleh dari ConfigurationSection) |
ShouldSerializePropertyInTargetVersion(ConfigurationProperty, String, FrameworkName, ConfigurationElement) |
Menunjukkan apakah properti yang ditentukan harus diserialisasikan ketika hierarki objek konfigurasi diserialisasikan untuk versi target yang ditentukan dari .NET Framework. (Diperoleh dari ConfigurationSection) |
ShouldSerializeSectionInTargetVersion(FrameworkName) |
Menunjukkan apakah instans saat ini ConfigurationSection harus diserialisasikan ketika hierarki objek konfigurasi diserialisasikan untuk versi target yang ditentukan dari .NET Framework. (Diperoleh dari ConfigurationSection) |
ToString() |
Mengembalikan string yang mewakili objek saat ini. (Diperoleh dari Object) |
Unmerge(ConfigurationElement, ConfigurationElement, ConfigurationSaveMode) |
Memodifikasi ConfigurationElement objek untuk menghapus semua nilai yang tidak boleh disimpan. (Diperoleh dari ConfigurationElement) |