用C#开发c/s三层结构如何实现

来源:百度知道 编辑:UC知道 时间:2024/05/08 17:49:08
最近公司要开发一个新项目。通过internet访问服务器上的数据库,获得数据,并且还要每秒刷新数据,所以对速度的要求比较高。公司打算用c#开发,并且是c/s结构的,大家有什么好的方案啊?非常非常感谢了。
我有两个方案:
1、服务器端使用web service,不知道速度怎么样,没做过。
2、通过socket传递数据,服务器端用一个socket的线程池来管理每个socket连接(最大同时50链接)。这个我倒是有类似的经验,但是太麻烦了,还要把dataset序列化和反序列化,协议也比较麻烦。

暂时同时在线的用户大约有1000-2000个左右,以后可能还会增加。
暂时想使用sql server2005,我觉得应该没啥问题。数据方面,因为有多个客户端,每个客户端录入的内容其他客户端要马上刷新,服务器中数据只保存20万条左右。因为不同的客户端都是有条件查询的,每个客户端最多也就显示500条左右。请指教,谢谢!

大家有什么好的方案,给提一个呗。我比较倾向于使用webservice不知道性能会不会有问题。

每秒钟请求,1000-2000个用户.就是说每秒钟要处理2000个请求.还要去检索数据库.还要把数据返回.虽然没有做过这样的,但是这样我觉得不太现实.如果网络不好.一秒钟内数据没反馈,下一秒的请求又到了.服务器的压力估计会比较大.
我认为把每秒刷新改为客户端手动请求刷新.或者每分钟或者30秒刷新一次比较好.
另外你说的dataset序列化和反序列化,我认为没有必要.因为你是调WebService.直接返回DataTable就可以了.中间的序列化和反序列化自动完成的.WebService返回DataTable,本地得到DataTable,中间的转换自动搞定,完全没有必要手动来做.

数据库那么大 并且每秒种刷新数据,没服务器能反应过来吧。

Winsock+Timer+Com+

数据量多大? oracle?