petshop中匿名用户的用户名096aee06-e392-4890-80e5-4683324a6f82是如何获得的?

dreams1981 2006-09-07 07:20:18
petshop中允许匿名用户使用购物车
并分配一个类似096aee06-e392-4890-80e5-4683324a6f82这样的用户名
但我看了一天的代码没找到他是如何处理的
更不理解的就是当下次进入petshop,匿名用户的购物车还可以使用
这样更不知道他是如何获取原来096aee06-e392-4890-80e5-4683324a6f82这个用户名的
直到注册了该临时的用户名才消失.~

文章看了不少但,还是不明白当中的精髓

恳请大家来指教指教!
...全文
273 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
scow 2006-09-25
  • 打赏
  • 举报
回复
这是petshop中将匿名的信息转为注册用户信息的代码:
void Profile_MigrateAnonymous(Object sender, ProfileMigrateEventArgs e) {
ProfileCommon anonProfile = Profile.GetProfile(e.AnonymousID);

// Merge anonymous shopping cart items to the authenticated shopping cart items
foreach (CartItemInfo cartItem in anonProfile.ShoppingCart.CartItems)
Profile.ShoppingCart.Add(cartItem);

// Merge anonymous wishlist items to the authenticated wishlist items
foreach (CartItemInfo cartItem in anonProfile.WishList.CartItems)
Profile.WishList.Add(cartItem);

// Clean up anonymous profile
ProfileManager.DeleteProfile(e.AnonymousID);
AnonymousIdentificationModule.ClearAnonymousIdentifier();

// Save profile
Profile.Save();
}
scow 2006-09-22
  • 打赏
  • 举报
回复
Profile对象既可用于匿名用户也可以用于已认证用户。然而,当用户从匿名用户状态转换为已认证用户状态时,Profile对象能够以一种令人难以理解的方式完成任务。
当匿名用户使用Profile对象时,用户profile是与一个随机生成的号码相关联的,该号码是根据每个用户唯一生成的,它保存在浏览器的cookie中,无论何时该用户返回应用程序,该用户的Profile设置会被自动加载。
如果匿名用户通过认证的话,所有与该用户相关的profile就会丢失,同时系统会生成一个新的profile。这时该Profile信息将与用户名相关联,而非唯一识别号。
dreams1981 2006-09-08
  • 打赏
  • 举报
回复
我也查过自动生成的cs文件了没找着.郁闷得很啊
dreams1981 2006-09-08
  • 打赏
  • 举报
回复
petshop 4.0中找不到Guid
scow 2006-09-08
  • 打赏
  • 举报
回复
profile是2.0新出来的东西,ProfileCommon这个类是配好profile自动生成的,要查查profile启动匿名之后的处理机制,才知道Profile.UserName怎么回事
dreams1981 2006-09-08
  • 打赏
  • 举报
回复
页面一加载就会有一个Profile.UserName的值.我发现就是匿名用户的用户名,但他是从那里来的?!
learner1981 2006-09-08
  • 打赏
  • 举报
回复
ProfileCommon : System.Web.Profile.ProfileBase
里有调用,至于096aee06-e392-4890-80e5-4683324a6f82这样的用户名
就不清楚在那获得的了
dreams1981 2006-09-08
  • 打赏
  • 举报
回复
不知道是从那里调用
public override void SetPropertyValues(SettingsContext context, SettingsPropertyValueCollection collection)
去获取用户信息的
每一个项目都看过了,就是找不到调用他的地方!
dreams1981 2006-09-08
  • 打赏
  • 举报
回复
又过一天了,大家给点建议给我把!
dreams1981 2006-09-07
  • 打赏
  • 举报
回复
能告诉我是那一段代码中得出的吗
alien54155415 2006-09-07
  • 打赏
  • 举报
回复
用时间+网卡等硬件信息得出来的,重复的机率极低
dreams1981 2006-09-07
  • 打赏
  • 举报
回复
不同的匿名用户会生成不同的用户名的,并且还可以区分开不同的匿名登陆.我在不同的机器上尝试过了!这是怎么实现的??!
greennetboy 2006-09-07
  • 打赏
  • 举报
回复
096aee06-e392-4890-80e5-4683324a6f82
是Guid
当用户进入系统之后,系统会分配给用户一个Guid,以后匿名用户就用这个来标记
匿名用户退出的时候,可能需要定时查询在线用户,删除多长时间没有活动的匿名用户
冰宇枫 2006-09-07
  • 打赏
  • 举报
回复
Guid userid = Guid.NewGuid();
ChengKing 2006-09-07
  • 打赏
  • 举报
回复
Grid Class

62,047

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧