Anonymous profiles
How does asp.net track anonymous users and store their profiles?
Setting anonymousIdentification to true in the web.config, asp.net stores a guid for each anonymous user, allowing concurent anymous users to log in, and those should be cleaned in your databse every once in a while.
For each property that is available to anonymous user, the allowAnonymous must be set to true.
How to carry the information of a anonymous user when he carries a new profile.
The magic happens in the global.asax, and create an event handler, Profile_MigrateAnonymous, by getting the anonymous id from it's event args, get the profile with this id, we check one of properties to make sure we dont overwrite an existing profile.
To store in other than SQL you need to create a custom profile provider that inherits from System.Web.Profile.ProfileProvider. For example an xml file could be used to store.
There is a provider toolkit availble on microsoft sites that makes creating custom providers easier.
Session vs Profiles,
Session uses strings for each value, and requires to know the datatype to be cast, and is just stored for the current session.
Profile provides intellisense and strong typing and retrieves the data only once when request, stores when is persisted.
Profiles can be used to store user preferences, and web parts can benifit for the persistence mecanisms of profiles.
How does asp.net track anonymous users and store their profiles?
Setting anonymousIdentification to true in the web.config, asp.net stores a guid for each anonymous user, allowing concurent anymous users to log in, and those should be cleaned in your databse every once in a while.
For each property that is available to anonymous user, the allowAnonymous must be set to true.
How to carry the information of a anonymous user when he carries a new profile.
The magic happens in the global.asax, and create an event handler, Profile_MigrateAnonymous, by getting the anonymous id from it's event args, get the profile with this id, we check one of properties to make sure we dont overwrite an existing profile.
To store in other than SQL you need to create a custom profile provider that inherits from System.Web.Profile.ProfileProvider. For example an xml file could be used to store.
There is a provider toolkit availble on microsoft sites that makes creating custom providers easier.
Session vs Profiles,
Session uses strings for each value, and requires to know the datatype to be cast, and is just stored for the current session.
Profile provides intellisense and strong typing and retrieves the data only once when request, stores when is persisted.
Profiles can be used to store user preferences, and web parts can benifit for the persistence mecanisms of profiles.
Comments
Post a Comment