ProfileMigrateEventArgs.AnonymousID Свойство
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Получает анонимный идентификатор для анонимного профиля, из которого требуется выполнить миграцию значений свойств профиля.
public:
property System::String ^ AnonymousID { System::String ^ get(); };
public string AnonymousID { get; }
member this.AnonymousID : string
Public ReadOnly Property AnonymousID As String
Значение свойства
Анонимный идентификатор для анонимного профиля, из которого требуется выполнить миграцию значений свойств профиля.
Примеры
В следующих примерах кода показан файл Web.config, который включает анонимную проверку подлинности и MigrateAnonymous событие, включенное в файл Global.asax для приложения ASP.NET.
В следующем примере кода показан файл Web.config, который обеспечивает анонимную идентификацию и свойства профиля, поддерживающие анонимных пользователей.
<configuration>
<system.web>
<authentication mode="Forms" >
<forms loginUrl="login.aspx" name=".ASPXFORMSAUTH" />
</authentication>
<AnonymousIdentification enabled="true" />
<profile enabled="true" defaultProvider="AspNetSqlProvider">
<properties>
<add name="ZipCode" allowAnonymous="true" />
<add name="CityAndState" allowAnonymous="true" />
<add name="StockSymbols" type="System.Collections.ArrayList" allowAnonymous="true" />
</properties>
</profile>
</system.web>
</configuration>
В следующем примере кода показано MigrateAnonymous событие, включенное в файл Global.asax для приложения ASP.NET. Событие MigrateAnonymous копирует значения свойств профиля из анонимного профиля в профиль текущего пользователя.
public void Profile_OnMigrateAnonymous(object sender, ProfileMigrateEventArgs args)
{
ProfileCommon anonymousProfile = Profile.GetProfile(args.AnonymousID);
Profile.ZipCode = anonymousProfile.ZipCode;
Profile.CityAndState = anonymousProfile.CityAndState;
Profile.StockSymbols = anonymousProfile.StockSymbols;
////////
// Delete the anonymous profile. If the anonymous ID is not
// needed in the rest of the site, remove the anonymous cookie.
ProfileManager.DeleteProfile(args.AnonymousID);
AnonymousIdentificationModule.ClearAnonymousIdentifier();
// Delete the user row that was created for the anonymous user.
Membership.DeleteUser(args.AnonymousID, true);
}
Public Sub Profile_OnMigrateAnonymous(sender As Object, args As ProfileMigrateEventArgs)
Dim anonymousProfile As ProfileCommon = Profile.GetProfile(args.AnonymousID)
Profile.ZipCode = anonymousProfile.ZipCode
Profile.CityAndState = anonymousProfile.CityAndState
Profile.StockSymbols = anonymousProfile.StockSymbols
''''''''
' Delete the anonymous profile. If the anonymous ID is not
' needed in the rest of the site, remove the anonymous cookie.
ProfileManager.DeleteProfile(args.AnonymousID)
AnonymousIdentificationModule.ClearAnonymousIdentifier()
' Delete the user row that was created for the anonymous user.
Membership.DeleteUser(args.AnonymousID, True)
End Sub
Комментарии
Свойство AnonymousID содержит уникальный идентификатор анонимного пользователя. Когда пользователь, использующий ваше приложение, анонимно входит в систему, вы можете обработать MigrateAnonymous событие для копирования значений свойств профиля из анонимного профиля пользователя в профиль, прошедший проверку подлинности.
При запуске приложения, в котором включен профиль пользователя, ASP.NET создает новый класс типа ProfileCommon
, который наследуется от ProfileBase класса и включает свойства профиля, указанные в файле Web.config.
ProfileCommon
При создании класса добавляется метод , GetProfile
позволяющий получить ProfileCommon
объект на основе имени пользователя. Для получения значений GetProfile
свойств анонимного профиля можно использовать метод текущего профиля. Затем значения анонимных свойств можно скопировать в текущий профиль пользователя, прошедшего проверку подлинности. Пример копирования анонимных значений свойств см. во втором примере кода.