ProfileModule.MigrateAnonymous Событие
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Происходит, когда выполняет вход анонимный пользователь профиля.
public:
event System::Web::Profile::ProfileMigrateEventHandler ^ MigrateAnonymous;
public event System.Web.Profile.ProfileMigrateEventHandler MigrateAnonymous;
member this.MigrateAnonymous : System.Web.Profile.ProfileMigrateEventHandler
Public Custom Event MigrateAnonymous As ProfileMigrateEventHandler
Тип события
Примеры
В следующем примере показан файл 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
Комментарии
Вы можете получить доступ к MigrateAnonymous событию ProfileModule класса в файле Global.asax для приложения ASP.NET с помощью глобального Profile_MigrateAnonymous
события, как показано в примере для этого раздела.
Событие можно использовать для MigrateAnonymous копирования значений свойств профиля из анонимного профиля в профиль, прошедший проверку подлинности, когда пользователь, который анонимно использует ваше приложение, входит в систему.
При запуске приложения с включенным профилем пользователя ASP.NET создает новый класс типа ProfileCommon
, который наследуется от ProfileBase класса . Строго типизированные методы доступа добавляются в ProfileCommon
класс для каждого свойства, определенного <в разделе конфигурации профиля> . Метод GetProfile
позволяет получить объект на ProfileCommon
основе имени пользователя. Для получения значений GetProfile
свойств анонимного профиля можно использовать метод текущего профиля, прошедшего проверку подлинности. Затем значения анонимных свойств можно скопировать в текущий профиль пользователя, прошедшего проверку подлинности.