1, 基本设置
[1] 队列长度: 默认值 1000, 将原来的队列长度改为 65535.
[2] 启动 32 位应用程序: 默认值 False, 改为 True, 否则安装一些 32 的组建或 32 位的 PHP 都会出错.
[3] 托管管道模式: Integrated 或 Classsic.
2. 修改最大工作进程数
但当最大工作进程 > 1(=n) 的时候, iis 会为 web 应用开辟 n 个 w3wp.exe(或者 aspnet_wp.exe) 来提供服务, 而这些进程是独立的, 包括静态变量和缓存等等, 等于完全开启了一个新的应用服务器;
当 iis 接受浏览器请求的时候, iis 会自动分配请求到不同的服务进程, 这时候, 如果前后两次请求没有分配到同一个服务进程, 那上一次诸如给静态变量赋的值, 写入的缓存等在本次请求中得不到了.
解决办法: 用 SQL Server 进行会话管理
步骤:
1. 通过命令行执行 aspnet_regsql.exe 程序 (不要双击安装), 先在 CMD 中输入命令
cd C:\Windows\Microsoft.NET\Framework\v4.0.30319
语法: aspnet_regsql.exe -S 服务器 ip -U 数据库登录名 -P 数据库密码 -d 所要放入的数据库 -ssadd -sstype c
数据库中就会出现这两个表
然后在这个路径下: C:\Windows\Microsoft.NET\Framework\v4.0.30319\Config, 在 Web.Config 中加入代码
- <sessionState sqlConnectionString="server=.;database=ZSZ;uid=sa;pwd=123456"
- allowCustomSqlDatabase="true" mode="SQLServer" timeout="1000">
- </sessionState>
一开始犯一个很傻的错误, 以为自己 64 位一直在 C:\Windows\Microsoft.NET\Framework64\v4.0.30319 这个路径下配置, 一直不成功.
参考: https://www.cnblogs.com/liqingwen/archive/2017/09/06/7485807.html
来源: http://www.bubuko.com/infodetail-3643477.html