2012-01-17 61 views
0

我已經在C#.NET中將一個SQL Server CE 4數據庫實現爲一個Web服務。SQL Server CE和線程安全連接應該在資源上使用鎖嗎?

我已經共享使連接對象爲靜態(以便通過調用共享)的web服務調用之間的數據庫連接:

private static SqlCeConnection sqlConnection; 

比我已經實現不同的方法如下所示:

lock (sqlConnection) 
{ 
    SqlCeCommand cmd = sqlConnection.CreateCommand(); 
    tryOpenConnection(); 

    try 
    { 
     cmd.CommandText = "SELECT * FROM STAKEHOLDER"; 
     SqlCeDataReader rdr = cmd.ExecuteReader(); 

     while (rdr.Read()) 
     { 
     String toAdd = ""; 
     toAdd = rdr.GetString(0) + "," + rdr.GetString(1); 
     stakeholderList.Add(toAdd); 
     } 
    } 
    catch (Exception e) 
    { 
     stakeholderList.Add("ERROR|" + e.Message); 
    } 

    sqlConnection.Close(); 
} 

現在的問題是:

爲每個呼叫鎖定SqlCeConnection是否正確?

感謝

回答

相關問題