• 探索ASP.NET MVC5系列之~~~6.Session篇(进程外Session)


    其实任何资料里面的任何知识点都无所谓,都是不重要的,重要的是学习方法,自行摸索的过程(不妥之处欢迎指正)

    汇总:http://www.cnblogs.com/dunitian/p/4822808.html#mvc

    本章Demohttps://github.com/dunitian/LoTCodeBase/blob/master/NetCode/6.网页基础/BMVC5/MVC5Base/Controllers/SessionController.cs

    方法有很多,今天主要说不改代码的那两种(状态服务器+数据库)后面在说运维的时候会介绍Memcache的方案

    正常的登录:

    登录视图:

    管理页面视图:

    控制器:

    页面效果:

    登录成功:

    先说第一种,状态服务器:(其实真的来台状态服务器到不如来台Memcache服务器了,结合Cookies完全可以替代Session)

    先去状态服务器里面启动一下State服务,并设置为自动启动 (你只是开发用就不需要设置自启动了)

    然后把注册表修改一下:HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesaspnet_stateParametersAllowRemoteConnection

    AllowRemoteConnection ,0仅能本机使用,1可以供其他机器使用.

    最后一步:吧aspnet_state添加到安全防火墙允许列表里面:

    刷新一下即可:

    这时候你可以干一件事情===》你把你网站重启看看Session还在不在~~~(答案是:

    如果遇到异常就看这篇文章:http://www.cnblogs.com/dunitian/p/6131270.html

    我记得有状态服务之类的开源项目的,感兴趣的可以去Github搜索看看

    ------------------------------------------------------------------------------------------------------------------

    现在说一下数据库充当状态服务器的方法:

    第一步注册一下,这个数据库可以是项目数据库,也可以是单独的数据库

    如果没有SessionDB数据库,则会自动创建一个名为SessionDB的数据库

    数据库添加的表和存储过程

    自动生成的job负责删除过期Session的记录值

    第二步,配置文件配置一下:

    登录看看:

    数据库里面有了对应的记录

    过期后就需要重新登录了,可能有人会好奇,为啥我上图的过期时间这么长?(⊙o⊙)…额,这个滑动时间是可以自己设置(单位:分钟)==》<sessionState timeout="20"></sessionState>

    例如:

    重新登录一下:

    过期后数据库里面的记录会被自动删掉的

    妈妈再也不用担心进程外Session的问题了~

    参考链接:https://msdn.microsoft.com/zh-cn/library/h6bb9cz9(v=vs.110).aspx

    作者:毒逆天
    本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则将其追究法律责任!                       
    弱者只能独自流泪,黯然神伤;强者却能力挽狂澜,一锤定音!                               
      
     
     
    标签: MVC
  • 相关阅读:
    ZOJ 2601 Warehouse Keeper
    POJ 2175 Evacuation Plan
    NYIST 1108 最低的惩罚
    二进制 与 十进制 互转
    javascript学习(9)——[设计模式]单例
    2013 Changsha Regional 一样的木板一样的气球
    muduo简化(1):Reactor的关键结构
    Oracle 11g New 热补丁
    跳转表实例
    [置顶] android 心跳包的分析
  • 原文地址:https://www.cnblogs.com/webenh/p/6132547.html
Copyright © 2020-2023  润新知