簡體   English   中英

SQLite with Webservices c#

[英]SQLite with Webservices c#

我不確定之前是否被問過(因為我用Google搜索)。

好吧,我已經編寫了一個將使用SQLite數據庫托管的Web服務。

許多客戶端將對其執行CRUD操作。 為了簡單起見,我計划使用它。

現在,我已經編寫了大多數方法,這時我認為沒有帶SQLite的DBMS(我想),因此如果兩個或多個客戶端應用程序寫入我的應用程序,則可能存在沖突和數據不一致問題。

或者SQLite是否支持管理多個連接的操作? 或者我必須切換到SQL Server 2008

是的SQLite支持並發和鎖定

簡短的回答是肯定的。 看看這個Sqlite FAQ條目 更長的答案有點復雜...您是否想在旨在處理大量事務負載的體系結構中使用Sqlite? 可能不是。 如果您確實想朝這個方向發展,建議您從SQL Server Express開始。 如果您需要升級到功能完善的SQL Server,那么根本就不會有問題...

Sqlite摘錄:

(5)同一應用程序的多個應用程序或多個實例可以同時訪問單個數據庫文件嗎?

多個進程可以同時打開同一個數據庫。 多個進程可以同時執行SELECT。 但是,只有一個進程可以隨時對數據庫進行更改。

SQLite使用讀取器/寫入器鎖來控制對數據庫的訪問。 [...]

SQLite在不中斷或不會導致數據損壞的意義上,“支持管理多個連接的操作”。 但是,它的設計效率不如MS-SQL Server並發操作負載高。 因此,它歸結為有多少是“許多客戶”。 如果你正在談論幾十個同時發出的請求,你可以使用SQLite。 如果您正在討論數百個並發請求,則可能需要遷移到MS-SQL Server。 請注意,為了使兩個請求同時發生,兩個客戶端必須在大約相同的幾毫秒時間窗口按下“提交”按鈕。 因此,需要數百個同時連接的客戶端才能獲得數十個並發請求。

暫無
暫無

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

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