回答
我建議你離開請求緩存獨自處理ADO.NET連接並使用connection pooling(這是默認值)。只要你想在任何地方做到這一點,它會正確關閉/處置:
using (SqlConnection cn = new SqlConnection(connectionString))
{
using (SqlCommand cm = new SqlCommand(commandString, cn))
{
cn.Open();
cm.ExecuteNonQuery();
}
}
我會認爲@Downvoter正在打我,原因與@LukeH相同。你爲什麼不發表一個答案,因爲你是如此重要? – 2010-07-12 15:57:34
我會強烈建議您不把首先在緩存中的連接。
只要您需要連接,只需打開一個新連接(儘可能晚)。完成後只需關閉/處理(儘可能早)。您可能知道確保此行爲的最簡單模式是using
塊。
從池中打開和關閉連接非常便宜,默認情況下啓用連接池。讓連接池處理諸如緩存等細節:這就是它的存在,如果你自己做,它確實沒有任何好處 - 並且有很多潛在的缺陷。
@Downvoter:小心解釋爲什麼? – LukeH 2010-07-12 12:43:59
因爲這不是回答這個問題,所以網站對它進行了步驟。這就像回答網絡服務問題一樣,不要使用網絡服務,因爲糟糕的事情可能會發生。我不能刪除這個問題,所以我會重新整理一下。 – MatthewMartin 2010-07-12 15:45:18
@MatthewMartin:如果所有的StackOverflow都回答了人們問的所有*錯誤的問題(而不是暗示海報可能完全錯誤地咆哮錯誤的樹),那麼它會更糟糕。您不能指責某人嘗試幫助您解決與您最初發布的代碼有關的嚴重問題。 – 2010-07-12 15:52:27
- 1. 我應該實現自己的TCP/IP套接字超時嗎?
- 2. 我應該使用連接池嗎?
- 3. 我們自己實現連接池,但爲什麼它總是斷開連接?
- 4. 我應該存儲OpenID的連接方案嗎?
- 5. 實現自定義連接池?
- 6. 併發:實現自定義連接池
- 7. 我應該實現writeToParcel方法嗎?
- 8. Java連接池實現
- 9. 如何實現連接池?
- 10. 連接池應該比保持連接打開慢得多嗎?
- 11. Django應該自己實現DB on_delete規則嗎?
- 12. 實現接口方法時,我應該使用@Override標記嗎?
- 13. 我應該在自己的EC2實例上運行MongoDB嗎?
- 14. 實現我自己的DBGrid
- 15. 我的Doctrine實體應該實現接口嗎?
- 16. 連接我自己的glibc
- 17. java中的連接池實現
- 18. 連接池的大小應該與max_connections相同嗎?
- 19. 我應該使用第三方電子郵件發送解決方案還是實施我自己的?
- 20. ReactiveMongo:單連接池實例VS很多連接池實例VS多連接池
- 21. 我如何實現這個答案,我發現我自己的編碼?
- 22. 如何實現連接到我自己的自定義shell中的遠程shell?
- 23. 應該使用哪個連接池?
- 24. SQL - 我應該使用連接嗎?
- 25. 如何實現連接池BIRT報表
- 26. 如何高效地實現連接池?
- 27. Ruby/Rails數據庫連接池實現
- 28. 如何實現連接池Multi_threading
- 29. 我應該使用.NET的內置雙緩衝還是我自己的實現?
- 30. 我應該用Python中的常量接口實現類嗎?
什麼......?爲什麼你想要連接到緩存?你是否想要實現連接池? – RPM1984 2010-07-12 12:34:58