由於IIS爲每個請求分配了一個工作線程,我打算創建一個新對象來爲每個請求提供服務。我有2個問題:如何從asmx Web服務管理多個ado.net數據庫連接
是否有效地創建新的對象來爲每個請求提供服務? (是甚至有alternatice?)
它是線程安全的,高效的和最佳實踐來創建新的連接,並打開&關閉它像下面的每個請求:
using (MySqlConnection conn = new MySqlConnection(ConfigurationManager.ConnectionStrings["MySqlConnectionString"].ConnectionString)) { conn.Open(); MySqlCommand cmd = new MySqlCommand("SELECT password FROM Admin WHERE username='" + username + "'", conn); object dbp = cmd.ExecuteScalar(); conn.Close(); }
PS。這個例子來自這個網站。我使用oracle數據庫。
感謝:馬蒂
感謝您的快速回答。聽起來不錯。但這是最佳做法嗎?使用下面的東西怎麼樣? private static DbProviderFactory factory = DbProviderFactories.GetFactory(「System.Data.SqlClient」); – 2009-11-25 14:34:30
@darin謝謝,這有助於縮短響應時間 – 2016-10-04 13:22:04