首页 新闻 会员 周边 捐助

StackExchange.Redis中 ConnectionMultiplexer单例 + 异步 +异步后耗时操作,奇怪的现象

0
悬赏园豆:5 [已解决问题] 解决于 2020-03-26 14:21

StackExchange.Redis中 ConnectionMultiplexer单例 + 异步 +异步后耗时操作,这种情况下,多个请求竟然变成了同步。
注入代码

接口代码

同时请求接口时,两次请求竟然变成了同步。

问题补充:

这种情况是在用StackExchange.redis异步的方法时,并且异步方法后跟着Thead.Sleep时出现的。在使用StackExchange.redis同步方法时不会出现这种问题。

chester·chen的主页 chester·chen | 小虾三级 | 园豆:507
提问于:2020-03-25 10:05
< >
分享
最佳答案
0

你怎么知道变成了同步?

收获园豆:5
dudu | 高人七级 |园豆:30948 | 2020-03-25 17:46

从现象上看,第二个请求,必须等第一个请求结束,log才会打印。

chester·chen | 园豆:507 (小虾三级) | 2020-03-25 20:35

.net thread.sleep 会阻塞,同一浏览器的其他请求,这是为什么?

chester·chen | 园豆:507 (小虾三级) | 2020-03-26 10:28

看起来是谷歌浏览器的问题,同一url,发出去多个,会阻塞后面的

chester·chen | 园豆:507 (小虾三级) | 2020-03-26 10:48
其他回答(1)
0

http请求是无状态协议,不可能因为服务端的代码变同步。
你的log打印有问题,把 end的打印 放到 thread.sleep 后面去。

gt1987 | 园豆:1150 (小虾三级) | 2020-03-26 14:15

谷歌浏览器的问题

支持(0) 反对(0) chester·chen | 园豆:507 (小虾三级) | 2020-03-26 14:16
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册