0
我們的遺留Web服務中正在使用以下Web方法。使用asmx Web服務處理大型數組
[WebMethod(Description = "Get Bulk Data")]
public string[] getBulkData(string[] arrInput)
{
string[] arrResults = new string[arrInput.Length];
using(SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings["mydb"].ToString()))
{
conn.Open();
//some db operations...
for (int arrIndex = 0; arrIndex < arrInput.Length; arrIndex++) //arrInput size can be very large
{
arrResults[arrIndex] = getResult();
}
}
return arrResults;
}
private string getResult()
{
string r;
using (SqlConnection thisConn = new SqlConnection(ConfigurationManager.ConnectionStrings["mydb2"].ToString()))
{
//some db operations
//assign values to r
}
return r;
}
Web方法,getBulkData
,需要串的陣列,查詢DATABSE並返回與相同大小的結果的數組。結果來自私人方法,getResult()
也將查詢數據庫。
我不確定這是否是正確的實現,但我傾向於說這不是,因爲有多個查詢數據庫,這可能會影響getBulkData的性能。顯然,該陣列中的元素越多,處理時間就越長。
如果我在getBulkData()中創建thisConn對象,並將其傳遞給getResult,那麼在提高性能方面會有什麼不同?在這種情況下處理大數組的最佳方式是什麼?
非常感謝。
感謝您的意見。 – woodykiddy