加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

asp.net – 迁移匿名配置文件的最佳方式

发布时间:2020-12-16 04:27:29 所属栏目:asp.Net 来源:网络整理
导读:是否有另一种方法可以隐式迁移所有参数?或任何其他优点. 从MSDN开始: public void Profile_OnMigrateAnonymous(object sender,ProfileMigrateEventArgs args){ ProfileCommon anonymousProfile = Profile.GetProfile(args.AnonymousID); Profile.ZipCode =
是否有另一种方法可以隐式迁移所有参数?或任何其他优点.

从MSDN开始:

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

}

或者这是最好/唯一的方式?

解决方法

这是要走的路.但我建议进行推广.您可以循环访问 ProfileBase.Properties集合,而不是对每个属性进行硬编码.这些方面的东西:
var anonymousProfile = Profile.GetProfile(args.AnonymousID);
foreach(var property in anonymousProfile.PropertyValues)
{
    Profile.SetPropertyValue(property.Name,property.PropertyValue);
}

由于属性组表示为属性名称的一部分(例如“Settings.Theme”表示“设置”组中的“主题”属性),因此上述代码也应与属性组一起使用.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读