英語で読む

次の方法で共有


ProfileAutoSaveEventHandler 代理人

定義

ProfileAutoSavingProfileModule イベントを処理するメソッドを表します。

C#
public delegate void ProfileAutoSaveEventHandler(object sender, ProfileAutoSaveEventArgs e);

パラメーター

sender
Object

ProfileModule イベントの発生元の ProfileAutoSaving

e
ProfileAutoSaveEventArgs

イベント データを格納している ProfileAutoSaveEventArgs

次のコード例は、 ProfileAutoSaving ASP.NET アプリケーションの Global.asax ファイルに含まれるイベントを示しています。

C#
public void Profile_ProfileAutoSaving(object sender, ProfileAutoSaveEventArgs args)
{
  if (Profile.Cart.HasChanged)
    args.ContinueWithProfileAutoSave = true;
  else
    args.ContinueWithProfileAutoSave = false;
}

注釈

デリゲートは ProfileAutoSaveEventHandler 、 クラスの イベントに ProfileAutoSaving 対して定義されます ProfileModule 。 このトピックのProfileModule例に示すように、ASP.NET アプリケーションの Global.asax ファイル内の クラスのイベントにアクセスProfileAutoSavingできます。 プロパティtrueが の場合、イベントはProfileAutoSavingページの実行の最後にAutomaticSaveEnabled発生します。

メソッドはSave、プリミティブ型、文字列、またはDateTimeオブジェクトで構成されるプロパティが変更されたかどうかを、ユーザー プロファイル内の各SettingsPropertyValueプロパティ値を確認IsDirtyすることによって自動的に決定します。 ただし、 メソッドは Save 、カスタム クラスが変更されたかどうかを明示的に判断できません。 イベントを ProfileAutoSaving 処理して、カスタム オブジェクトが変更されているかどうかを判断し、変更されたオブジェクトの自動保存を続行し、オブジェクトが変更されていない場合は自動保存を取り消すことができます。

プロファイルの自動保存操作を取り消すには、 イベントで ProfileAutoSaving プロパティを ContinueWithProfileAutoSavefalse設定します。それ以外の場合は、 プロパティを ContinueWithProfileAutoSavetrue設定します。

イベントのサブスクライバーが複数存在する ProfileAutoSaving 可能性があります。 では ProfileModule 、 プロパティが設定されている最後の値が ContinueWithProfileAutoSave 使用されます。 その結果、以前のサブスクライバーによって設定された値を上書きする必要がある場合があるため、自動保存を取り消すか続行するかに関係なく、イベントで ProfileAutoSaving プロパティを明示的に設定ContinueWithProfileAutoSaveすることをお勧めします。

拡張メソッド

GetMethodInfo(Delegate)

指定したデリゲートによって表されるメソッドを表すオブジェクトを取得します。

適用対象

製品 バージョン
.NET Framework 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1

こちらもご覧ください