存储XML本地直到网络连接恢复
.NET新手,任何正确的方向将是一个巨大的帮助。存储XML本地直到网络连接恢复
试图写一个程序,接受在制造环境中的数据输入和直接存储到一个SQL数据库。
一个问题,我可以预见是,如果无线网络连接中断(或临时超出范围)
我会在哪里研究,还是我将如何去,创建本地XML副本或临时本地XML文件如果连接没有回到服务器?
这样做的任何建议或方法?
谢谢!
(我是一个VB程序员,但如果需要,可以计算出C#编译)
我们有同样的问题。我们所做的就是使用本地数据库,您也可以使用本地数据库,例如使用SQLLite,这是个好主意。使用XML存储数据也是可行的。
好了,我们这样做,我们有两个分开的线程:
i)在扫描数据的源线程(A)(在本例中的PLC),并把在临时存储中的数据(以你的案例XML文件)。
ⅱ)的螺纹(B),其扫描所述临时数据,并将其发送到中央数据库。发送到中央服务器的数据可以被删除或标记为已发送。
这很有效。当(B)无法连接到服务器时,数据星将在本地数据库/ xml中累积。当到服务器的连接再次可用时,数据被正确发送。
使用NHibernate的两个不同的数据存储,一个遥控器,一个用于本地。之后出现问题。您可以迭代本地数据库中的对象,并对主服务器进行这些更改,然后从本地数据库中删除它们。理想情况下,在每次连接之后,您应该在本地数据库中拥有零数据 - 除非这是您设计的一部分,在这种情况下,您的同步任务变得更加复杂。
消息队列可能为你工作http://code.msdn.microsoft.com/msmqpluswcf
你可以写你的消息队列,然后有另外的过程,从队列中读取和写入到数据库中。
我也有使用IsolatedStorage之前,但消息队列似乎是一个更好的方法 – 2009-06-10 15:57:11
这里是我将开始:Smart Client Architecture and Design Guide
有一个智能客户端应用程序块,可以帮助你一些更困难的细节。智能客户端应用程序块有助于将本地更改同步到数据库中的更改。
感谢大家的建议,大概一百万的方式来做到这一点,但是这似乎正是我一直在寻找。朝这个方向前进(本地数据库应该运作良好,考虑到它通常是单向传输数据)。 谢谢。 – JBickford 2009-06-10 17:22:43