簡體   English   中英

如何在我的 C# 應用程序中保存單個 Int(序列號)

[英]How to save a single Int(serial number) within my C# app

我嘗試在我的應用程序中管理序列號,每次創建新產品時,序列號都會增加並且應該保存。 在舊版本的軟件中,序列號以純文本形式保存在 a.txt 文件中,但我發現這很容易出錯。 我應該為那個單一的序列號創建一個 SQL 數據庫還是有更簡單的方法?

我不會太擔心創建用於保存數據的數據庫。 但另一種解決方案可能是將其保存為 XML/JSON。

我不確定文件的格式是純文本,Json 還是 XML 與此處相關,而是需要確保正確鎖定文件。

如果 memory 服務,則 FileStream class 具有可以使用 FileShare 選項鎖定文件的構造函數。 當您打開文件以更新計數器時,這應該是 None 或 Read - 這樣做將保證計數器將在多進程環境中正常運行。

也可以在沒有鎖的情況下更新文件,前提是您可以保證只有一個進程在使用它——即只有您的進程和其中一個。

您基本上是在嘗試確保只有一個調用者可以通過消除競爭條件來更新文件,方法是確保只有一個調用者,或者當一個調用者已經在使用計數器時讓多個調用者等待。

SQL 數據庫將是一個很好的方法,您可以使用 SQL 序列,它在一個整潔的原子 ZC1C425268E68385D1AB5074C17A94F14 調用中為您完成所有鎖定和遞增,但可能已經在應用程序中使用了一個位引擎。

暫無
暫無

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

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