ProfileMigrateEventHandler 代理人

定義

MigrateAnonymous クラスの ProfileModule イベントを処理するメソッドを表します。Represents the method that will handle the MigrateAnonymous event of the ProfileModule class.

public delegate void ProfileMigrateEventHandler(System::Object ^ sender, ProfileMigrateEventArgs ^ e);
public delegate void ProfileMigrateEventHandler(object sender, ProfileMigrateEventArgs e);
type ProfileMigrateEventHandler = delegate of obj * ProfileMigrateEventArgs -> unit
Public Delegate Sub ProfileMigrateEventHandler(sender As Object, e As ProfileMigrateEventArgs)

パラメーター

sender
Object

ProfileModule イベントを発生させた MigrateAnonymousThe ProfileModule that raised the MigrateAnonymous event.

e
ProfileMigrateEventArgs

イベント データを含んでいる ProfileMigrateEventArgs です。A ProfileMigrateEventArgs that contains the event data.

継承
ProfileMigrateEventHandler

次のコード例は、匿名認証と、ASP.NET アプリケーションの global.asax ファイルに含まれる MigrateAnonymous イベントを有効にする web.config ファイルを示しています。The following code examples show a Web.config file that enables anonymous authentication and the MigrateAnonymous event included in the Global.asax file for an ASP.NET application.

次のコード例は、匿名ユーザーをサポートする匿名 id とプロファイルプロパティを有効にする web.config ファイルを示しています。The following code example shows a Web.config file that enables anonymous identification and profile properties that support anonymous users.

<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>  

次のコード例は、ASP.NET アプリケーションの global.asax ファイルに含まれる MigrateAnonymous イベントを示しています。The following code example shows the MigrateAnonymous event included in the Global.asax file for an ASP.NET application. MigrateAnonymous イベントは、プロファイルプロパティの値を匿名プロファイルから現在のユーザーのプロファイルにコピーします。The MigrateAnonymous event copies profile property values from the anonymous profile to the profile for the current user.

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

注釈

ProfileMigrateEventHandler デリゲートは、ProfileModule クラスの MigrateAnonymous イベントに対して定義されます。The ProfileMigrateEventHandler delegate is defined for the MigrateAnonymous event of the ProfileModule class. このトピックの例に示すように、ASP.NET アプリケーションの global.asax ファイルで、ProfileModule クラスの MigrateAnonymous イベントにアクセスできます。You can access the MigrateAnonymous event of the ProfileModule class in the Global.asax file for your ASP.NET application as shown in the example for this topic.

アプリケーションログを匿名で使用しているユーザーがいる場合は、MigrateAnonymous イベントを使用して、プロファイルのプロパティ値を匿名プロファイルから認証済みプロファイルにコピーできます。You can use the MigrateAnonymous event to copy profile property values from an anonymous profile to an authenticated profile when someone who has been anonymously using your application logs in.

ユーザープロファイルが有効になっているアプリケーションが開始されると、ASP.NET は ProfileCommon型の新しいクラスを作成します。このクラスは ProfileBase クラスから継承されます。When an application that has the user profile enabled is started, ASP.NET creates a new class of type ProfileCommon, which inherits from the ProfileBase class. Web.config ファイルで指定されたプロファイルプロパティに基づいて ProfileCommon クラスが生成されると、ユーザー名に基づいて ProfileCommon オブジェクトを取得できるようにする GetProfile メソッドが追加されます。When the ProfileCommon class is generated, based on the profile properties specified in the Web.config file, a GetProfile method is added that enables you to retrieve a ProfileCommon object based on a user name. 現在のプロファイルの GetProfile メソッドを使用して、匿名プロファイルのプロパティ値を取得できます。You can use the GetProfile method of the current profile to retrieve the property values of the anonymous profile. 匿名プロパティの値は、認証されたユーザーの現在のプロファイルにコピーできます。The anonymous property values can then be copied to the current profile for the authenticated user.

拡張メソッド

GetMethodInfo(Delegate)

指定したデリゲートによって表されるメソッドを表すオブジェクトを取得します。Gets an object that represents the method represented by the specified delegate.

適用対象

こちらもご覧ください