.Net Core Web Api实践(二).net core+Redis+IIS+nginx实现Session共享(.net开发)

网友投稿 237 2022-06-07


前言:虽说公司app后端使用的是.net core+Redis+docker+k8s部署的,但是微信公众号后端使用的是IIS部署的,虽说公众号并发量不大,但领导还是使用了负载均衡,所以在介绍docker+k8s实现分布式Session共享之前,就先介绍一下IIS+nginx实现Session共享的方案,两者其实区别不大,所以这篇着重介绍方案,下篇介绍测试的区别以及填坑的方式。

1、环境准备

操作系统:Windows10

IIS:需要安装模块

VS2019、本地Redis数据库、ngnix(windows版)

2、Session共享的简易说明

下图简要说明了负载均衡通过轮询方式,将同一个客户端请求发送到不同的站点下,操作的Session应该是同一个。

3、添加测试项目

虽然个人认为本来WebApi中使用Session本身就是一种不合理的设计,但这是旧项目迁移需要保留的历史逻辑,所以只能硬着头皮寻找对应的解决方案了。

在VS2019中添加一个.net core 的WebApi项目,使用Session的话需要添加以下配置。

Startup.cs类中,ConfigureServices方法添加services.AddSession();  Configure方法中添加app.UseSession();  注意要放到UseMVC方法前面。

测试代码如下,添加testController类,在Get1方法中设置Session,记录当前时间,Get2方法中读取Session


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:开源API网关,你选对了么?(api网关和服务网关)
下一篇:Flink入门(五)——DataSet Api编程指南
相关文章

 发表评论

暂时没有评论,来抢沙发吧~