anonymousIdentification 元素(ASP.NET 设置架构)
来自 <https://msdn.microsoft.com/zh-cn/library/91ka2e6a(v=vs.100).aspx>
配置匿名标识是否启用。
匿名标识应用场景:
电子商务Web应用程序尤其需要这个功能。电子商务站点必须支持匿名用户和验证用户。匿名用户在浏览站点时,把商品添加到购物车上后,Web应用程序需要一种唯一标识这些用户的方式。例如,在Amazon.com、BN.com等繁忙的电子商务Web站点上,并不接受匿名用户的概念,而是给每个用户赋予一个唯一标识。若需要记录用户数据,可使用匿名标识。
当浏览器第一次访问站点时,服务器的响应中会有个set-cookie的命令,给当前浏览器一个匿名用户标识。往后的请求中,都会带着这个标识,此时如果用户在站点中的操作需要记录数据时,该标识则可唯一确定那部分数据的从属。
如下面的例子
Web.config配置
<anonymousIdentification enabled="true"/>
<profile>
<properties>
<add name="bgColor" allowAnonymous="true"/>
<add name="fgColor" allowAnonymous="true"/>
</properties>
</profile>
服务端记录用户数据的代码
if (AnonymousIdentificationModule.Enabled)
{
Profile["bgColor"] = bg;
Profile["fgColor"] = fg;
}
return RedirectToAction("Login");
Profile有个索引器,可以获取或设置按属性名进行索引的配置文件属性值。在需要获取用户数据时用下面形式则可
Profile["bgColor"]
Profile["fgColor"]
例如可以直接把值显示在视图中
<p>
@Profile["bgColor"]+ @Profile["fgColor"]
</p>
由于浏览器是通过cookie记录标识,故cookie一丢失(过期或清除),用户数据则会丢失。
另外尚未了结存储数据的原理,因为重启浏览器无效,监控请求未发现请求有变化,重新启动网站,重启生成都无效果。
例子来源 http://www.voidcn.com/blog/byondocean/article/p-623700.html