您的位置:程序门 -> .net技术 -> c#



求 winform 三层架构方案实例


[收藏此页] [打印本页]选择字色:背景色:字体:[][][]


求 winform 三层架构方案实例[已结贴,结贴人:elong2004]
发表于:2007-02-08 09:41:58 楼主
三   层   式   架   构   方   案
一、实时连接服务器,数据集中存储服务器上,全部客户端只有连接上服务器才可以调用服务器数据,要保证200人在线顺畅运行。
二、实现功能:
1、以mssql示例数据训pubs里面的employee数据库为例实现添加、删除、修改、查询功能
2、客户端可以管理在线用户,可以查询到用户id、用户名、计算机ip、计算机名、登录时间及离开时间,可以踢掉某个在线用户
3、服务器有固定ip的可以用,没有固定ip的用花生壳解析的也可以使用。
三、服务器要求安全认证。


长期以来很多论坛的答案都是webform的,希望这里只讨论winform架构。过一会来收贴...,请各位大力支持!
发表于:2007-02-08 09:48:371楼 得分:65
这个.......多少钱啊?
发表于:2007-02-08 09:51:212楼 得分:5
winform实现半点问题都没有:
1,完全以webservier方式实现数据增删改
2,udp高效
3,免费都可以搞定动态ip解析,推荐(3322.org,comexe.cn)

发表于:2007-02-08 09:51:453楼 得分:0
不好意思,这个只有分,只做技术讨论

要钱没有,要命也不给!
发表于:2007-02-08 09:53:154楼 得分:5
服务器安全问题,主要体现在webservice的安全管理上!

参考:
http://searchwebservices.techtarget.com.cn/wsdevelop/wsaq/
发表于:2007-02-08 09:53:255楼 得分:5
winform+webservice没有问题,可以做的
发表于:2007-02-08 09:53:456楼 得分:0
主要是当数据量达到几万条时,不知道显示和报表应该用什么方法到呈现给用户!如果一次读到客房端那肯定会延时很长时间。
发表于:2007-02-08 09:56:477楼 得分:0
楼主放心,现在的服务器硬件水平足够应付!

速度主要瓶颈在的网络速度!
发表于:2007-02-08 09:59:388楼 得分:0
发表于:2007-02-08 10:00:109楼 得分:0
你压一下   要保证200人在线顺畅运行的话大约每秒20到50足够了
发表于:2007-02-08 10:06:5310楼 得分:5
winform?

连接远程服务器,只有webservice或者socket连接了

前者灵活,不安全,不稳定
后者安全稳定效率高

想不通楼主为什么不用b/s?
发表于:2007-02-08 10:07:2511楼 得分:5
一、实时连接服务器,数据集中存储服务器上,全部客户端只有连接上服务器才可以调用服务器数据,要保证200人在线顺畅运行。

//按照你的说法   客户端应该连接应用程序服务器而不是数据库服务器
电脑a做数据库服务器
电脑b做应用程序服务器   这里可以写一个dataaccess进行数据操作
然后电脑b上可以发布webservice   ,这个项目可以对dataaccess做一个引用(实际就是一个程序)
电脑b逻辑上是两层,数据库和应用程序服务器分开在两台机器上可以提高性能

1.增加删除修改查询等功能   一般的数据库操作而已
2.客户端可以管理在线用户     这个在客户端登录的时候让客户端给webservice发相应的信息   记录下来就行
可以踢掉某个在线用户   可以加一个form验证,直接修改客户端的form验证为不通过,客户端再次连接就会失败.
三、服务器要求安全认证
用form验证即可
发表于:2007-02-08 10:09:0512楼 得分:0
我现在用的是webservices+soap+auth头认证方式,只是因为我的记录中有图片,并且每天的数据量是1000条左右,1   个月下来就有3万条,
(20kb(图片)+1k)*30000=6300000k,图片已经是jpeg压缩格式了
这个要是出一个月的报表,肯定会很慢,不知道谁有没有碰到过这样的问题
发表于:2007-02-08 10:11:2913楼 得分:0
我现在本身用的是b/s结构,只是有些操作要求安装activex,很多客户都不愿意去装,觉得这个很不安全。加上自己也想体验一下三层c/s程序的写法,所以...
发表于:2007-02-08 10:14:5014楼 得分:0
webservice
发表于:2007-02-08 10:15:0615楼 得分:0
做报表难道要把图片传到客户端???
发表于:2007-02-08 10:17:2216楼 得分:0
bitpolar(独自看天)说的有道理
我可以不下载图片,只要他查看谁的再下载谁的,这样是节省了很多的时间和流量
发表于:2007-02-08 10:20:1717楼 得分:0
不知道你的报表中有啥东西
发表于:2007-02-08 10:20:4118楼 得分:0
那我想客户的在线状态我应当可以用webservices   中的application状态来进行管理吧?
发表于:2007-02-08 10:24:0019楼 得分:5
sql   server2005里面的报表服务是web方式的,在winform里面显示一个webbrowser就ok
发表于:2007-02-08 10:24:3420楼 得分:0
b/s   下面的完全可以参考的。

微软的例子就比较好。
发表于:2007-02-08 10:24:4721楼 得分:0
都是些垃圾数据,不过也要有这些功能才行,不然别人还不吊死你了。
发表于:2007-02-08 10:27:5022楼 得分:5
如果使用webservice的话,你的应用程序服务器是无法主动给客户端发消息的,只能等待客户端的请求(特殊情况不算,只讨论一般情况下的处理方式)
我能想到的就是客户端每隔几分钟给服务器发个消息(意思就是:我还连着呐),服务器在指定时间段没没收到客户端消息,就认为该客户端已经断开连接.
客户端如果还有更多状态,写消息里就行
发表于:2007-02-08 10:29:2123楼 得分:0
那就把报表数据在存储过程里处理好了,返回给客户端生成表就是.
按照上面几位的说法,sql   server2005生成报表的方式不错,我用oracle,没试过
发表于:2007-02-08 10:34:3124楼 得分:0
这个我一直没有想到好办法解决,之前我用的是socket连接,这样全双工实时通讯,但是连接多了,程序水好优化,连了8台设备就有点慢了,又没有写成三层结构,服务器经常反应慢


========================================================================
如果使用webservice的话,你的应用程序服务器是无法主动给客户端发消息的,只能等待客户端的请求(特殊情况不算,只讨论一般情况下的处理方式)
我能想到的就是客户端每隔几分钟给服务器发个消息(意思就是:我还连着呐),服务器在指定时间段没没收到客户端消息,就认为该客户端已经断开连接.
客户端如果还有更多状态,写消息里就行
发表于:2007-02-08 10:40:4125楼 得分:0
主要有四个摄像头+视频卡,在刷卡时要实现抓拍,有时四个一起上+其他四个普通的
发表于:2007-02-08 10:44:5726楼 得分:0
学习中.欢迎加入asp.net(c#)学习交流qq群号:32801051
发表于:2007-02-08 10:49:5027楼 得分:0
太难了,看不懂是撒意思?????????、
发表于:2007-02-08 13:00:0128楼 得分:0
不懂啊                           55555555555555


快速检索