c# - 在 NpgSQL 中打开多个 conn 是否可行?
问题描述
我当前使用 Entity Framework MVC 在 ASP.NET 中开发的 Web 应用程序有一个错误。我所做的是,当用户注册时,我从模板数据库创建他的数据库,因此所有注册用户都具有相同的数据库模式。
当 User#1 打开会话并"Server=localhost; User Id=postgres; Password=Password$; port=5432; Database=USER1_DB; Pooling=false;"
在 User2 登录后立即连接到他分配的数据库时,User1 会丢失他的初始连接字符串,因为它已被替换为"Server=localhost; User Id=postgres; Password=Password$; port=5432; Database=USER2_DB; Pooling=false;"
.
我理解我的代码中的问题,因为每当执行登录操作时,public IActionResult Login(Homepage acc){...}
我都会建立NpgsqlConnection conn = new NpgsqlConnection();
并更改连接字符串:conn.ConnectionString = "Server=localhost; User Id=postgres; Password=Password$; port=5432; Database=" + USERID + "_DB; Pooling=false;";
所有其他用户都失去了初始连接字符串......
有没有办法拥有多个conn.open
,以便在运行 Web 应用程序时将每个 conn 分配给相关用户?
谢谢
解决方案
推荐阅读
- php - Update query including JOIN is taking 55 to 59 seconds to update the table
- flutter - How to use link navigating from streambuilder in flutter app?
- c - 如何取消引用从 c 中的函数获得的指针?
- javascript - 如何在根据条件动态更改的组件中传递 setState
- javascript - 多次从承诺中获得相同的响应
- node.js - 如何(甚至可能)更改 Config 系统文件的值?
- javascript - 内容脚本和后台脚本之间的 Chrome.runtime.sendmessage 有时不起作用
- reactjs - 通过反应获得最近的加油站
- asp.net-core - 如何配置独立的 Blazor WebAssembly 应用程序以允许传入的跨源重定向?
- php - 我无法获取 img src 路径未在邮件中加载