ProfileModule.MigrateAnonymous 事件
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
當設定檔的匿名使用者登入時發生。
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 ASP.NET 應用程式之 Global.asax 檔案中包含的事件。 事件 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
備註
您可以使用全域事件,存取 MigrateAnonymousProfileModule global.asax 檔案中 ASP.NET 應用程式的 Profile_MigrateAnonymous
類別事件,如本主題的範例所示。
您可以使用 MigrateAnonymous 事件,將設定檔屬性值從匿名配置檔複製到已驗證的配置檔,而當使用者使用應用程式登入時匿名。
啟動已啟用使用者配置檔的應用程式時,ASP.NET 建立類型 ProfileCommon
的新類別,此類別繼承自 ProfileBase 類別。 強型別存取子會針對配置檔>組態區段中定義的<每個屬性新增至 ProfileCommon
類別。 方法 GetProfile
可讓您根據使用者名稱擷取 ProfileCommon
物件。 您可以使用 GetProfile
目前已驗證設定檔的 方法來擷取匿名配置檔的屬性值。 然後,可以將匿名屬性值複製到已驗證使用者的目前配置檔。