日期:2014-05-20  浏览次数:20946 次

求 WinForm 三层架构方案实例
三   层   式   架   构   方   案
一、实时连接服务器,数据集中存储服务器上,全部客户端只有连接上服务器才可以调用服务器数据,要保证200人在线顺畅运行。
二、实现功能:
1、以MSSQL示例数据训Pubs里面的employee数据库为例实现添加、删除、修改、查询功能
2、客户端可以管理在线用户,可以查询到用户ID、用户名、计算机IP、计算机名、登录时间及离开时间,可以踢掉某个在线用户
3、服务器有固定IP的可以用,没有固定IP的用花生壳解析的也可以使用。
三、服务器要求安全认证。


长期以来很多论坛的答案都是WebForm的,希望这里只讨论WinForm架构。过一会来收贴...,请各位大力支持!

------解决方案--------------------
这个.......多少钱啊?
------解决方案--------------------
winForm实现半点问题都没有:
1,完全以WebServier方式实现数据增删改
2,UDP高效
3,免费都可以搞定动态IP解析,推荐(3322.org,comexe.cn)


------解决方案--------------------
服务器安全问题,主要体现在WebService的安全管理上!

参考:
http://searchwebservices.techtarget.com.cn/wsdevelop/wsaq/
------解决方案--------------------
winform+webservice没有问题,可以做的
------解决方案--------------------
WinForm?

连接远程服务器,只有WebService或者Socket连接了

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

想不通楼主为什么不用B/S?
------解决方案--------------------
一、实时连接服务器,数据集中存储服务器上,全部客户端只有连接上服务器才可以调用服务器数据,要保证200人在线顺畅运行。

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

1.增加删除修改查询等功能 一般的数据库操作而已
2.客户端可以管理在线用户 这个在客户端登录的时候让客户端给WebService发相应的信息 记录下来就行
可以踢掉某个在线用户 可以加一个form验证,直接修改客户端的form验证为不通过,客户端再次连接就会失败.
三、服务器要求安全认证
用Form验证即可

------解决方案--------------------
SQL Server2005里面的报表服务是web方式的,在WinForm里面显示一个WebBrowser就OK
------解决方案--------------------
如果使用WebService的话,你的应用程序服务器是无法主动给客户端发消息的,只能等待客户端的请求(特殊情况不算,只讨论一般情况下的处理方式)
我能想到的就是客户端每隔几分钟给服务器发个消息(意思就是:我还连着呐),服务器在指定时间段没没收到客户端消息,就认为该客户端已经断开连接.
客户端如果还有更多状态,写消息里就行