簡體   English   中英

使用企業庫的數據訪問權限時如何確保線程安全

[英]How to ensure thread safety when using Enterprise Library's Data Acces

我有一個運行多個並發后台進程的應用程序,以使用企業庫的數據訪問應用程序塊將數據插入數據庫。 每個后台線程都使用DatabaseFactory.CreateDatabase傳入相同的數據庫實例名稱。 以下是用於檢索數據庫和命令對象的代碼段:

Microsoft.Practices.EnterpriseLibrary.Data.Database database = DatabaseFactory.CreateDatabase(this.DatabaseInstanceName);
DbCommand commandObj = database.GetSqlStringCommand(statement);

我發現這不是線程安全的,並且由於各個線程中的值混雜在一起,導致出現錯誤。 我應該如何處理以確保它是線程安全的?

提前致謝!

我發現了我的問題。 跨線程混淆的值不是由於企業庫數據訪問對象,而是我用來存儲參數的另一個對象。 我不小心使它成為全局線程,而不是在每個線程中都使用本地資源。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM