存储XML本地直到networking连接恢复

.NET新手,任何正确的方向将是一个巨大的帮助。

试图编写一个程序来接受制造环境中的数据input,并将其直接存储到SQL数据库中。

我可以预见的一个问题是,如果无线networking连接中断(或临时超出范围)

如果连接没有返回到服务器,我将在哪里进行研究,或者如何创build本地XML副本或临时本地XML文件?

任何build议或方法做到这一点?

谢谢!

(我是一个VB程序员,但如果需要的话可以找出C#翻译)

为什么你不想使用本地数据库缓存机制? 演练:将本地数据库缓存添加到N层应用程序

我们有同样的问题。 我们所做的就是使用本地数据库,也可以使用本地数据库,例如使用SQLLite,这是个好主意。 使用XML存储数据也是可行的。

那么,我们做了这个,我们有两个分离线程:

i)一个线程(A),扫描数据源(在我们的例子中是PLC),并把数据放到临时存储器中(在你的情况下是XML文件)。

ii)线程(B)扫描临时数据并将其发送到中央数据库。 发送到中央服务器的数据可以被删除或标记为已发送。

这工作得很好。 当(B)无法连接到服务器时,数据星将在本地数据库/ xml中累积。 当到服务器的连接再次可用时,数据被正确发送。

使用NHibernate与两个不同的数据存储,一个用于远程,一个用于本地。 问题随之而来的是同步。 您可以遍历本地数据库中的对象,并将这些更改更改为主数据库,然后从本地数据库中删除它们。 理想情况下,在每次连接之后,本地数据库中应该有零数据 – 除非这是您设计的一部分,在这种情况下,您的同步任务变得更加复杂。

消息队列可能为您工作http://code.msdn.microsoft.com/msmqpluswcf

您可以将消息写入队列,然后让另一个进程从队列中读取并写入数据库。

这里是我将开始的地方: 智能客户端体系结构和设计指南

智能客户端应用程序块可以帮助您解决一些更为困难的细节。 智能客户端应用程序块有助于将本地更改同步到数据库中的更改。