我正在编写一个GUI远程处理客户端,其中服务器定义并执行屏幕,而一个小型GUI应用程序则在客户机上可视化这一点。我知道这听起来很像一个网站,这个系统将会有一个web客户端,但是现在我主要关注WPF客户端的实现。
这个系统的一部分是我需要同步服务器和客户端之间的资产。服务器将所有资产存储在一个.zip文件中,或者作为文件系统上的目录结构存储;我还没有决定。这些资产可能会发生变化:资产可以添加、删除或修改。这些修改需要与客户端同步。
我遇到的问题是如何将这些资产存储在客户机上。提出了以下要求:
Images/Icons/16/add.png);
.png图像文件;
我想出了以下方法:
- Easy to implement;
- Fast update and retrieval;还有以下缺点:
- Many files "somewhere" on disc;
- Not possible to store meta data (CRC32);
.zip 文件中。- Well defined storage mechanism with good .NET support;
- Maintains a CRC32 for me (I believe);还有以下缺点:
- Update and retrieval of random files is relatively slow (I believe);
- Not possible to store extra metadata (don't know if I'm going to need this though);
- Well defined storage mechanism with good .NET support;
- Allows all kinds of metadata to be stored;
- Fast update and retrieval of random files;还有以下缺点:
- May be completely overkill;
- I'm worried about binary support with SQLite.
我的问题是: 1.我是否忽略了一个明显的备选方案和/或2.什么方法是最好的.
发布于 2010-11-18 21:06:44
采用了KISS方法:只需将整个资源文件下载到客户端.
资源库不会有那么大,1MB到2MB。可以使用单个散列检查整个.zip文件的更改,只有在更改时才能更新。由于这种情况不会经常发生(最多一个月一次),所以这不会是个问题。
发布于 2010-11-16 16:11:13
就我个人而言,我会使用SQLLite (或者说MySql,它是开源的和免费的)。
在我的经验中,即使是小的应用也有一种成长为大型应用的方式,你会很高兴你使用了正确的技术,即使它在一开始就过分了。
https://stackoverflow.com/questions/4196184
复制相似问题