我有一個多線程的C#應用程序,我需要每個線程都有一個活動連接。我不能使用連接池,除非有一種方法可以使用靜態連接在多線程應用程序中準確地更新/插入多個表,而不使用鎖。當連接數大約爲200時,就沒有問題。連接不會超出此範圍。但是,當我需要2200+個連接時,連接數量無限增長。問題:SQL Server 2012 + C#.NET連接數不斷增加
代碼來創建連接 -
@"Data Source=Server-3-PC\SQLSERVER2012;Initial Catalog=****;Persist Security Info=True;User ID=****;Password=****;Pooling=false";
我使用的檢查從SSMS的連接 -
sp_who2
爲什麼你需要從一個單一的應用程序這麼多的連接,你能更詳細地解釋你的問題? –
我想你誤解了連接池如何工作。每次從池中重新分配一個連接(例如,通過創建一個「SQLConnection」的新實例),它都會被重置*。任何以前使用該連接都沒有任何狀態。 – Richard
我無法使用連接池,因爲插入/更新是在同時運行的多個線程中完成的。 – Mukus