I ASP.NET 2.0 kan man arbejde med Profiles der giver mulighed for at tilknytte yderligere oplysninger/data til en bruger ved simpelthen at angive det i sin konfigurationsfil - f.eks.:

<profile enabled="true">
  <
properties>
    <
add name="CoolLinks" type="System.Collections.Specialized.StringCollection "/>
    <
group name="PersonalInfo">
      <
add name="Age" type="int" />
      <
add name="Height" type="System.Int32" />
      <
add name="NoseSize" type="System.String" />
    </group>
  </
properties>
</
profile>

Ovenstående giver mulighed for at skrive kode som f.eks.:
Profile.CoolLinks.Add("http://msdn.microsoft.com");

Og
Profile.PersonalInfo.Age = 30;
Profile.PersonalInfo.Height = 180;
Profile.PersonalInfo.NoseSize = "BIG";

Det fede er så - at frameworket nok skal sørge for at disse data gemmes i asp.net databasen (default), eller hvor man nu har bedt om at få det gemt, ved at skrive en provider til det selv.

Spørgsmålet er så - hvad er det egentlig for en klasse man programmerer op imod med de viste linier, hvordan er den opstået, og hvordan ser den ud.

Og et lille tillægsspørgsmål kunne være:
Hvis man nu forestiller sig at en bruger kunne tage noter mens han/hun surfer rundt på din side - og du i din kode har defineret en note som f.eks.:

public class Note
{
  // Et par properties som f.eks. Page, NoteHeader og NoteBody
}

Som du så flere steder bruger en liste af:
List<Note> notes;

Hvordan kunne du så sørge for at den kom ind på profilen?

Kan man f.eks. gøre følgende:
<add name="UserNotes" type="List<Note>"/>

Eller skal der mere til - og i givet fald hvad?

Og.... Synes du overhovedet at profile systemet er noget som helst værd?

Mvh
Jeppe
(Du kan self. nøjes med at svare på lidt af det - det hele skal nok ende med at være besvare til sidst ;o)