use*_*356 8 c# storage disk local
如果这个问题对您来说很常见,我很抱歉,我快速搜索了这个网站并进行了一些谷歌搜索,但找不到令人满意的答案.
我的问题是这个;
我现在只做了3到4年的软件开发人员.这似乎是一个足够长的时间来自己回答这个问题但是在我所有的时间里,我从来没有开发过软件,其中数据存储的主体不需要在在线数据库中.但是,这次,我的最新开发只需要将其数据仅存储到磁盘.
实际数据本身很轻.在代码中,主资产将是一个只有少数基于字符串的属性的类,必须持久化.我最初的想法是简单的序列化.在应用程序关闭时,新资产只是序列化并作为文件存储在磁盘上.我也可能为了备份目的(或者如果它在某种程度上是序列化类的更好选择),XML文件也是合适的.
我无法想到这两种方法中任何一种明显的缺点,正是这一事实让我公开提出这个问题.根据我的经验,很少有一个问题的解决方案没有它的缺点.
序列化(二进制或 XML)适用于少量数据。这种方法的问题是当您获取大量数据(您可能需要查询)时。
如果你是在windows平台上,需要合适的数据库,可以使用windows自带的嵌入式数据库引擎——ESENT。它是 Exchange 和RavenDB的后备存储。
以下是它的 .NET 包装器库。
ManagedEsent 提供对 ESENT(Windows 原生的嵌入式数据库引擎)的托管访问。ManagedEsent 使用 Microsoft Windows 中的 esent.dll,因此无需下载和安装额外的非托管二进制文件。