转:关于ASP.NET中Cookies和Session 的疑问(Cookies禁用)

问:
  一个关于怎么判定客户端COOKIES是否被禁用  本来的意思是COOKIES禁用,然后我用SESSION存储数据。但后来一想,SESSIONID也是存储在COOKIES里边的。所以COOKIES一禁用,SESSION也就不能用了。
后来网上找了一下。
  ASP.NET中客户端Session状态的存储在我们上面的Session模型简介中,大家可以发现Session状态应该存储在两个地方,分别是客户端和服务器端。客户端只负责保存相应网站的 SessionID,而其他的Session信息则保存在服务器端。在ASP中,客户端的SessionID实际是以Cookie的形式存储的。假如用户在浏览器的设置中选择了禁用Cookie,那末他也就无法享受Session的便利之处了,甚至造成不能访问某些网站。为了解决以上问题,在 ASP.NET中客户端的Session信息存储方式分为:Cookie和Cookieless两种。
  我安装这个方法存储了SESSION ,但是地址栏中会出现这些东西。      http://localhost/MyTestApplication/(ulqsek45heu3ic2a5zgdl245)/default.aspx      看起来不太好看。就放弃了这种方法。

回1:
  我可以很负责的告诉你,假如客户端禁用了cookies,你完全不要理会他就可以。  另外,任何一个网站都在利用cookies,包裹国内的门户,假如禁用了cookies,那完全没有意义。  所以你做网站的时候直接考虑cookies的思想就可以了,当然你做下判定,用session来保存禁用cookies的客户信息。

回2:
  你也可以在Web.config中把CookieLess设置成AutoDetecte, 那样启用cookie的客户端url正常,未启用的就用cookieless的那样的url.   

回3:
  没其他办法可选。    必须提示启用cookie, 各大论坛都是这样做的 

转载于:https://www.cnblogs.com/gleamy_ming/archive/2009/06/12/1502168.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值