2013年3月25日
摘要: nginx 负载均衡,多站点共享Session多站点共享Session常见的作法有:使用.net自动的状态服务(Asp.net State Service);使用.net的Session数据库;使用Memcached。使用Cookie方式实现多个站点间的共享(这种方式只限于几个站点都在同一域名的情况下);这里我们就 演练一下 以数据库的形来存储Session,来实现多站点共享Session。首先我们 建好一下站点,如下图:Default.aspx其中 有二个Button ,SetSession 主要是用于给一个 Session 赋值(如:Session["ShareValue&quo 阅读全文
posted @ 2013-03-25 18:26 davidkam 阅读(282) 评论(0) 推荐(0) 编辑
摘要: 在ASP.NET站点里面实现负载均衡,其实和其他WEB的实现方式基本类似。同样我们需要负载均衡器,之后是对会话状态的设置,我们要保证会话宝石和迁移正常。其中需要的配置并不是很多,在这里,我们制作一个简要介绍。ASP.NET站点中做负载均衡:基于HTTP协议我们可能发现我们要解决两点问题:第一,做到负载均衡,我们需要一个负载均衡器。可以通过DNS轮询来做,在DNS服务器上配置为每次对我们做负载均衡的同一主机名的DNS查询得到不同的IP地址。这样的好处是配置简单投入较小,缺点是浏览器访问各个服务器的机会是均等的,不能根据服务器的负载程度自动把请求路由到负载较小的服务器。可以通过专用的负载均衡设备, 阅读全文
posted @ 2013-03-25 18:06 davidkam 阅读(380) 评论(1) 推荐(0) 编辑
摘要: 问题:现在很多大型网站会在首页上显示用户登录,为了防止恶意刷新,都会加上验证码,但这样导致大量session的产生,占用服务器内存。解决方案:1. 输入账号密码后提示输入验证码,这个实现简单不说怎么做了2. 克服大量session产生,这个解决方案比较复杂,仅仅作为研究玩玩,实际应用还是推荐上面的方案。步骤一:每次访问产生一个唯一验证ID(可以用GUID)和验证码,用3DES保存到客户端步骤二:服务器端把用户输入的验证码和3DES里的验证码比较,相等继续步骤三:检测唯一验证ID近期是否使用过(可以用memcached),没有使用过继续步骤四:把本次的唯一验证ID保存到近期使用列表中完成说明:这 阅读全文
posted @ 2013-03-25 10:50 davidkam 阅读(761) 评论(0) 推荐(0) 编辑
摘要: 在ASP.NET的程序中要使用Session对象时,必须确保页面的@page指令中EnableSessionState属性是True或者 Readonly,并且在web.config文件中正确的设置了SessionState属性。 ASP.NET中Session的状态保持是由web.config文件中的标记下的标记的mode属性来决定的。该属性有四种可能的值:Off、Inproc、StateServer和SQlServer。 设为Off会禁用Session。 Inproc是缺省的设置,这种模式和以前的ASP的会话状态的方法是类似的,会话的状态会被保存在ASP.NET进程中,它的优点是... 阅读全文
posted @ 2013-03-25 10:23 davidkam 阅读(235) 评论(0) 推荐(0) 编辑