设置session存储在int sqlserver上---使用aspnet_regsql.exe工具

以管理员身份打开命令窗

1)cd到相应的framework下,如:C:WindowsMicrosoft.NETFrameworkv4.0.30319

2)执行如下命令:aspnet_regsql.exe -S . -U  数据库登录用户名  -P  密码  -d  数据库名称(session存储) -ssadd -sstype c

3)配置web.config节点,如下: <sessionState allowCustomSqlDatabase="true" cookieless="UseCookies" mode="SQLServer" sqlConnectionString="data source=xxx;database=上边创建的数据库名称;uid=sa;password=密码;" timeout="20" />

4)ok,测试一下吧

优点:可以多个web站点共享session;大并发推荐使用SqlServer模式, 可以享受到SqlServer的高性能和安全性.虽然存储效率会有下降.

需要注意的地方:在SQLServer模式下,session过期是由SQL Agent使用一个注册任务完成的,要确认SQL Agent已经运行。否则无法清理过期的Session数据, 会导致数据库数据一直增加.

更为详细的请参考:http://www.cnblogs.com/liyuxin/archive/2012/03/27/2418933.html

原文地址:https://www.cnblogs.com/zinan/p/6064579.html