我的winform应用程序的Webservice / Entity对象或datareader?

时间:2009-09-28 17:49:45

标签: winforms web-services ado.net data-access-layer

最好使用Web服务从数据库中提取数据并将其加载到我的实体对象中,然后将实体对象发送到我的winform应用程序?

这是否会直接导致数据库并将datareader拉回winform客户端,然后在客户端上加载实体?一些用户将在中国访问美国的数据库。

有更好的选择吗?

由于

2 个答案:

答案 0 :(得分:0)

这是主观的,但总的来说,您会发现更好的性能直接进入数据库。然而,这对分离问题并不好。

鉴于系统的高度分布性,使用Web服务(或至少是SOA方法)对我来说是有意义的。但是,我会采取额外步骤,将业务逻辑放在Web服务层,而不仅仅是数据访问,但同样,这在很大程度上取决于具体情况。我只是认为,如果需要编码更改,你需要更改代码和重新部署的地方越少越好,

这是否有必要成为客户端应用程序而不是Web应用程序?这将使您的分布式用户更新更容易一些。

答案 1 :(得分:0)

最好的选择可能是分布式数据库和/或分布式服务器。无论你如何从中国的客户端应用程序转到美国的数据库,网络将成为一个巨大的瓶颈,性能可能会非常糟糕。如果你能在中国建立一个复制数据库,那将会产生巨大的积极影响。

无论您是否拥有网络服务,都不会成为一个重要因素。当然,添加网络服务会增加网络跳跃,这会对性能产生负面影响,但正如我所说,我认为这不会是您的性能瓶颈。