从winforms应用程序更新远程Web数据库的最佳方法

时间:2011-06-05 05:44:17

标签: c# .net architecture

我有一个问题可能略微偏向于架构和设计,而不是语法问题......

我的桌面上有一个c#winforms应用程序,我已经构建了类似于CRM的应用程序。我在提交订单/发票等时对客户记录进行更新,我想做的是构建(或购买)一个模块,该模块将更新位于网站后面的远程数据库到注册客户端登录。我想要客户能够看到他们的发票/购买等状态,因为我已在winforms应用程序上更新了它。

我可以想到我头脑中的几个选项,但如果你做了类似的事情,我想知道更多

我正在考虑的事情是;

  1. >复制 - 我认为这样做太过分了,因为更新不是 巨大的,只有一种方式,而不是 关键是他们是实时的,并且 我也在运行SQL Express winforms app。这可以改变 但不是
  2. >创建一个创建并上传到网络的text / xml文件 服务器到的位置 每隔5分钟监测一次 更新Web数据库。 - 我不是 我自己托管网站,所以我做 没有完全控制什么 我可以安装,但我怀疑我可以 安装.NET'filewatcher'
  3. 无论如何,我很感激你对'问题'的看法

    感谢

1 个答案:

答案 0 :(得分:1)

我认为最好的办法是创建某种Web服务(我喜欢使用ServiceStack.net创建简单的REST服务,比WCF更干净)。这将位于服务器上并负责服务器端同步。

在客户端上,您可以让winforms应用程序根据某个活动阈值触发对Web服务的调用,或者您可以使用winforms应用程序安装的Windows服务在预定的作业中执行或者在计时器上。

您当然希望确保通过SSL进行所有通话,并确保对客户端进行身份验证,但这是我采用的基本架构方法。