※ 引述《GP03.bbs@aeug.twbbs.org (Gundam Pilot)》之銘言:
: Kyo兄
: 小弟C#用System.Data.SqlClient.SqlConnection去連接
: 再WinForm開啟時就打開連結
: 然後...過n久再去執行
: SqlDataReader dr = sqlCommand1.ExecuteReader();
: 是ok的
: 然後再過n久x2還是ok的
: 所以timeout應該是跟MSDN說一樣才是
: 而不出亂子的話...是不會被踢掉的
: 沒錯的話Sql Server預設是不踢人的
ok, 感謝您的實驗求證指正 :)
1.而確認 "Sql Server 預設是不踢人" 這部分
還得執行 SQL Manager, 再次確認 connection 依然存在與否?
2.如果 Sql Server 預設不踢人 ...
那麼就得防止這種 always connection 情況, 且得找出 "此設定" 的位置 ...
3.判斷 ADO 和 ADO .NET 的 timeout 差別是否一樣?
ADO timeout 實驗 :
我是在很早期的版本作的實驗, 當時會 timeout reject connection
所以, 我還得去找 ADO 最後版本實驗一下 ..
ADO .NET timeout 實驗 :
經由您的實驗可以得知, 只要 client 不 close connection 的話
就永遠保持 connection 狀態, 這對 server 而言, 有點危險...
以上
---
目前想到就這些
--
※ Origin: 鳥窩 (BirdNest.twbbs.org) ◆ From: cszone