要求:
多个用户可以同时在不同的数据库上工作。
用户1连接到DB-X
用户-2连接到DB-Y
-
我做了什么:
我添加了一个带有Api请求的dbName参数。 在BaseApiController的Initialize方法中获取此变量。
var selectedDbName = Convert.ToString(this.ControllerContext.RouteData.Values["SelectedDbName"]);
StaticClass.SelectedDbName = selectedDbName
在My BaseRepository中获取数据库连接时,然后使用此StaticClass.SelectedDbName我将按照以下代码创建新的SQL连接。
var connectionString = GetConnectionStringByDbName(StaticClass.SelectedDbName);
_db = new SqlDatabase(connectionString);
问题: 多个用户同时发送请求时。然后发生冲突。最后一个连接用于其他用户。