تبحث عن طريقة تخزين غير مؤلمة غير مؤلمة في C#
-
23-09-2019 - |
سؤال
أنا أكتب برنامجًا بسيطًا سيتم تشغيله بالكامل من جانب العميل. (برمجة سطح المكتب؟ هل ما زال الناس يفعلون ذلك؟) وأحتاج إلى طريقة بسيطة لتخزين كميات تافهة من البيانات في شكل منظم ، لكن لا ترى أي حاجة إلى استخدام نظام قاعدة بيانات. والأكثر من ذلك ، أن بعض البيانات تحتاج إلى تسلسلها وتمريرها إلى مستخدمين مختلفين ، مثل نوع من "الملف" أو ربما "وثيقة". (هل فعل أي شخص ذلك من قبل؟)
لذلك ، نظرت إلى استخدام مجموعات بيانات .NET ، LINQ ، معالجة XML المباشرة ، ويبدو أنهم جميعًا سيقومون بإنجاز المهمة ، لكنني أود أن أعرف قبل أن أغوص في أي منها إذا كانت هناك طريقة واحدة بشكل عام تعتبر أسهل في رمز من غيرها. كما قلت ، فإن كمية البيانات التي سيتم تخزينها تافهة ، حتى لو استخدم مائة شخص نفس الجهاز الذي لا نتحدث عنه أكثر من 10 ميغابايت ، لذلك فإن الأداء ليس مصدر قلق كبير مثل قابلية الترميز/الصيانة. شكرا لكم جميعا مقدما!
نصائح أخرى
يجب على أي واجهة برمجة تطبيقات التسلسل أن تفعل بشكل جيد هنا. أوصي بشيء يعتمد على العقد (ليس BinaryFormatter
, ، الذي يعتمد على النوع) لأن ذلك سيبقيه قابلاً للاستخدام مع مرور الوقت (مع تغير التجميع الخاص بك).
لذلك أود أن أقوم ببناء نموذج كائن أساسي (DTO) واستخدام أي من:
XmlSerializer
DataContractSerializer
- Protobuf-Net (تعلمون جميعًا أنه سيأتي ...)
OO ، بسيطة ، وسهلة. وسهل الاستخدام لتمرير أجزاء من البيانات (إما بين مستخدمي الخادم المركزي).
سأختار قاعدة بيانات مضمنة. لا يبدو أن استخدام شيء مثل SQLite مبالغة بالنسبة لي. يمكنك حتى تجربة منفذ C# (http://code.google.com/p/csharp-sqlite/).