在本地存储 PC 应用程序数据并与服务器数据库同步的最佳方式 [关闭]

Posted

技术标签:

【中文标题】在本地存储 PC 应用程序数据并与服务器数据库同步的最佳方式 [关闭]【英文标题】:Best way to store PC application data localy and sync with server database [closed] 【发布时间】:2020-03-16 15:08:57 【问题描述】:

拜托,我有一个问题。

什么是存储某些设置和应用程序数据(例如本地应用程序的表或产品信息)的最佳方式。这意味着,我的程序数据存储在运行应用程序的计算机上。 但是,如果我想在其他计算机上使用或处理这个应用程序,这是有问题的,因为没有相同的设置和数据。所以,我想在没有互联网的情况下在我的计算机上本地处理这个应用程序。但是,如果我愿意,我想将表格和数据与其他计算机同步。

我想在台式计算机上开发我的个人应用程序。就像经济应用一样,有很多产品和人桌。我选择VS2015 C#。

非常感谢您的回复。

【问题讨论】:

解决这个问题的方法太多了。答案只会变成一个人们喜欢的稻草民意调查。最好的办法是自己对这个主题进行一些研究,找到两三个,分析它们,确定它们是否适合你,然后尝试一下。如果您对尝试做的事情有具体问题,请联系我们。 另外,您知道 Visual Studio 2019 是可用的,而且是免费的,对吧?您应该尽可能考虑使用最新的工具。 用VS2019代替VS2015给我带来了什么好处?我认为我无法使用整个 IDE 的所有功能。而新版本对PC的要求更高。 ????这是一个“我想要一匹小马”类型的问题,这些问题很难简洁地回答,这使得它们在 Stack Overflow 上偏离了主题。如果可以,请尝试一下,然后向我们展示您的代码,我们可以在技术层面上理解您正在尝试做什么。即使是少量代码,无论多么不完整或损坏,都可以为我们提供背景信息并说明您的意图。 Visual Studio Express 不是那种资源密集型的。过去十年制造的任何机器都应该能够处理它,除非您的内存不足 4GB 的结构非常紧凑。 8GB 是理想的。 16GB 是最佳选择。如果您真的在性能方面受到限制并希望获得便宜的提升,那么用 SSD 替换 HDD 可以带来 10 倍的实际提升,而 SSD 的价格从未如此低。 【参考方案1】:

目前非常流行的一种方法是使用 SQLite,它利用 sql 的强大功能,同时轻松包含在本地文件系统中。这是目前在桌面和移动应用程序中使用的流行选项。

https://www.sqlite.org/index.html - 项目网站 https://system.data.sqlite.org/index.html/doc/trunk/www/downloads.wiki - ADO.net 提供商。

另一种选择是简单地序列化对象集合并将它们写入文件。然后,您可以使用 LINQ(语言集成查询)根据需要管理和选择应用程序中的数据。但是,SQLite 将是我的首选。

我还建议升级到 Visual Studio 2019,除非您的系统中存在阻止它的限制。最新的库和第 3 方解决方案更广泛地支持 VS2019。 VS2015 将不支持许多较新版本的 DotNet,例如 DotNet Core(尽管 2017 版本支持 .net core 2.0)。

【讨论】:

我听取了您的建议并阅读了有关 VS 2019 的更多信息。确实,智能感知、代码建议和清理等许多功能都处于更高水平。所以iconside安装并尝试VS2019。 我考虑使用 SQLite 的可能性。但是,如何将本地 SQLite 数据库与 Internet 上的 DB 服务器同步并再次返回 SQLite? SQLite 不能很好地实现并发性,它在存储过程方面也存在不足。如果你想扩大规模,两者都会很好。因此,如果您需要同时为多个客户端提供服务,SQLite 可能不是您想要的路径。此外,我不喜欢将任何数据库直接暴露在互联网上。我会使用一个宁静的网络服务来公开这些资源。下面的链接详细介绍了如何使用 DotNet Core 进行设置。您可以使用 HttpClient 类使用该 Web 服务。 很难知道你不知道什么,所以供参考:codingame.com/playgrounds/35462/…docs.microsoft.com/en-us/dotnet/api/… 我也意识到有时您只需要远程访问数据服务器,或者您将需要处理并发问题。在这些情况下,您还有一个理由不使用 SQLite 作为您的服务器。 Microsoft 的 SQL Server Express 可以很好地处理大约 10GB 的数据,然后您需要付费。当你需要扩大规模时,调查一些 Azure 数据包。他们按使用的数据单位收费(他们从来没有很清楚)。如果你和我一样是个小气鬼,并且认为自己能够胜任 Linux,那么你总是可以试试 Postgresql。

以上是关于在本地存储 PC 应用程序数据并与服务器数据库同步的最佳方式 [关闭]的主要内容,如果未能解决你的问题,请参考以下文章

如何以编程方式将音乐从 pc 同步到 iphone 音乐库? [关闭]

在两者之间通过 WCF 服务同步 2 个本地 SQL Server 数据库

winscp以命令行方式同步服务器数据到PC机磁盘上

微软同步框架。 sdf 文件未与服务器同步

微信小程序本地存储同步跟异步的区别

PC端本地存储方案,Windows和Mac双端通用方案