一,在netcore中,我們使用容器講上下文保持全局唯一的時候,異步大並發查mysql,就會導致報以上的異常,這個是什么原因導致的呢?
二,我們去調試下,在數據庫連接執行Open前,我們是有pwd這個屬性的
在我們執行open后發現,連接的pwd屬性去掉了
三,由上所得,由於注入容器一樣,然而配置的pwd沒了,再次用這個連接字符串去open,就會報錯沒有密碼的錯using password: NO
四,這個時候有怎么辦呢?如下配置
"ConString": "Server=xxx;Port=61010;Database=xx;Uid=xx;Pwd=xxx;CharSet=utf8mb4;;Persist Security Info=True;",
在配置添加Persist Security Info=True;這個屬性
四,這個是什么意思呢?
1》將Persist Security Info設置為true或yes將允許在打開連接后從連接獲取安全敏感信息,包括用戶標識和密碼。
2》如果您在建立連接時提供了用戶標識和密碼,那么當這些信息被用於打開連接並被丟棄時,您將得到最大程度的保護。
3》有助於提供更高安全性的選項是將Persist security Info設置為false。
所以加上這個后,用戶密碼會一直保持在連接上,而並不是執行open方法后密碼就不存在了