ProfileEventHandler 代理人
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
代表將處理 Personalize 之 ProfileModule 事件的方法。
public delegate void ProfileEventHandler(System::Object ^ sender, ProfileEventArgs ^ e);
public delegate void ProfileEventHandler(object sender, ProfileEventArgs e);
type ProfileEventHandler = delegate of obj * ProfileEventArgs -> unit
Public Delegate Sub ProfileEventHandler(sender As Object, e As ProfileEventArgs)
參數
- sender
- Object
引發 ProfileModule 事件的 Personalize。
ProfileEventArgs,其中包含事件資料。
範例
下列程式代碼範例顯示 Personalize 應用程式之 Global.asax 檔案中宣告的事件。 事件程式代碼會根據角色成員資格載入使用者的使用者配置檔。
public void Profile_Personalize(object sender, ProfileEventArgs args)
{
ProfileCommon userProfile;
if (User == null) { return; }
userProfile = (ProfileCommon)ProfileBase.Create(User.Identity.Name);
if (User.IsInRole("Administrators"))
userProfile = userProfile.GetProfile("Administrator");
else
if (User.IsInRole("Users"))
userProfile = userProfile.GetProfile("User");
else
userProfile = userProfile.GetProfile("Guest");
if (userProfile != null)
args.Profile = userProfile;
}
Public Sub Profile_Personalize(sender As Object, args As ProfileEventArgs)
Dim userProfile As ProfileCommon
If User Is Nothing Then Return
userProfile = CType(ProfileBase.Create(User.Identity.Name), ProfileCommon)
If User.IsInRole("Administrators") Then
userProfile = userProfile.GetProfile("Administrator")
Else
If User.IsInRole("Users") Then
userProfile = userProfile.GetProfile("User")
Else
userProfile = userProfile.GetProfile("Guest")
End If
End If
If Not userProfile Is Nothing Then _
args.Profile = userProfile
End Sub
備註
委派 ProfileEventHandler 是針對 Personalize 類別的 ProfileModule 事件所定義。 您可以使用Personalize全域事件,存取 global.asax 檔案中 ASP.NET 應用程式的 Profile_Personalize
類別事件ProfileModule,如本主題的範例所示。
您可以使用 Personalize 事件來指定自訂使用者設定檔。 Profile如果在事件完成時Personalize,為 事件指定的ProfileEventHandlerPersonalize參數屬性ProfileEventArgs設定為非 Null 值,則 ProfileModule 會針對Profile目前 HttpContext的屬性使用該值。
擴充方法
GetMethodInfo(Delegate) |
取得表示特定委派所代表之方法的物件。 |