【WebApi】根据请求动态切换数据库

需求场景:

由于iOS的App每次审核都比较慢,而且多数情况下上架App都得先同步更新WebApi,为了能快速通过审核并且不影响正式库的运行使用,建议可在用户登录时用特定方法切换数据库请求

 

解决方案:

1、在App端做文章  通过登录时特定的标记来指定请求的WebApi地址

2、在WebApi端做文章,通过【WebApi】利用ActionFilterAttribute记录客户端请求及返回信息的了解,可在获取到请求数据时做文章

 

下来说说其中一种思路:

a、让app在请求头Headers中增加一个标记位比如:flag     通过标记位的区分来确定本次请求需要切换哪个数据库

 

 

 b、在OnActionExecuting方法中,获取到请求时,对其进行解析

string flag = context.Request.Headers.GetValues("aaa").ToArray()[0];    //获取请求头中的aaa标记位

 //非常重要的代码
if (flag == "001")   //表示正式库                
     DbHelperSQL.InitConnString("ConnectionString1");
else                    //表示测试库
     DbHelperSQL.InitConnString("ConnectionString2");

PS:

DbHelperSQL.InitConnString方法是根据参数读取webconfig的配置项,获取配置项中提前配置好的数据库连接地址


 

posted @ 2020-04-16 16:57  狼窝窝  阅读(558)  评论(0编辑  收藏  举报