StackExchange.Redis中 ConnectionMultiplexer单例 + 异步 +异步后耗时操作,这种情况下,多个请求竟然变成了同步。
注入代码
接口代码
同时请求接口时,两次请求竟然变成了同步。
这种情况是在用StackExchange.redis异步的方法时,并且异步方法后跟着Thead.Sleep时出现的。在使用StackExchange.redis同步方法时不会出现这种问题。
你怎么知道变成了同步?
从现象上看,第二个请求,必须等第一个请求结束,log才会打印。
.net thread.sleep 会阻塞,同一浏览器的其他请求,这是为什么?
看起来是谷歌浏览器的问题,同一url,发出去多个,会阻塞后面的
http请求是无状态协议,不可能因为服务端的代码变同步。
你的log打印有问题,把 end的打印 放到 thread.sleep 后面去。
谷歌浏览器的问题