- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
基于WebServices简易网络聊天工具的设计与实现;学习目标;内容摘要;系统测试;需求分析;具体功能;;系统结构设计;数据库设计;项目具体实施;;二、服务端设计;1、新建Web服务项目;;2、新建两个类库;Web.DAL处理与数据库交互的操作;同理,创建Web.BLL处理网站业务逻辑,成功后效果如图所示:;3、数据访问层的设计 选中Web.DAL,右键-添加新项-LINQ to SQL类;;添加成功后如图所示;选中VS2010服务器资源管理器;右键-数据连接-添加连接;选中数据源;添加连接;展开数据库,将三个表用鼠标拖到DataMessage.dbml中;在DataMessag.dbml页面空白处右键-属性将序列化模式改成单向,防止数据表之间无限循环引用;同时,在属性窗口,分别修改四个关联关系的父属性,将访问权限均改为Internal,同样也是避免无限循环引用。;4、构建业务逻辑层 右键Web.BLL,新建类MessageManager.cs,这个类包含网站业务逻辑所有函数,如图所示:;添加判断用户是否存在函数,该函数判断登陆框里的用户名是否是Users表中的注册用户;存在为True,否则false;代码出现错误,解决方法如下页图示;为Web.BLL添加Web.DAL的引用,因为Web.BLL需要用到数据访问层的函数;添加成功后,在MessageManager.cs 导入命名空间,问题得到解决,如图所示;执行用户注册功能函数,该函数在Users表中插入一条记录,成功为true,否则为false;代码出现错误,还是缺少引用,继续添加如下页图;为Web.BLL添加System.Data.Ling引用问题得到解决;用户登陆函数,该函数返回合规的users表一条记录;添加好友,该函数首先判断Friends表UserName是否有FriendName的记录,如果没有,则将Messages表一条记录的Sender和Receiver赋值给Friends表一条记录的UserName和FriendName,然后在这两个表分别插入这一条记录,否则什么也不做;;同意好友,该函数判断是否存在Messages表的一条记录,使得Sender和Receiver分别等于Friend表的 FriendName和UserName ,如果存在将IsPass设置为true,并将这条记录插入到Messages表中;;拒绝好友请求,该函数将Friends表符合条件的好友关系删除,更新消息记录;发送消息,该函数根据Classify的取值不同执行不同的动作。;Copy信息列表,该函数返回一个消息列表,实际上是当前信息列表的副本;获取信息列表,该函数保存形参nickname的消息记录;获取指定用户好友列表;创建业务逻辑对应的WebServices方法;;给服务端添加引用,导入命名空间;Web服务添加代码后出现错误,如图:;返回Web.BLL类库的MessageManager.cs,将类声明为public,问题解决。;注册用户;验证登陆;添加好友;处理好友请求;发送消息;发送文件;监听消息,该函数获取当前登陆用户Message表中的一条消息记录;;获取好友列表,至此,Web服务设计完成;服务器端测试,Register函数测试;;HaveUser函数测试;Login函数测试:刚刚注册用户tom,密码是1,说明MessageManager.cs代码有漏洞,自己修正;;;客户端设计,再打开一个VS,文件-新建-项目,Windows 窗体应用程序;新建四个窗体,如图所示;在项目首先添加Web服务引用,如图;点击“高级”;点击“添加Web引用”;复制服务器的网址;点击绿色右箭头前往,将Web服务引用名更改为WebServiceMessage,点击添加引用;窗体设计;在FormFindFriend.cs[设计]*页面,按下F7,转到后台代码页面;;发送请求按钮的Click事件:;2、注册窗体;注册按钮的Click事件:;3、登陆窗体;在后台代码页FormLogin.cs定义FormMessage类实例对象master,并创建对应的属性Master;;注册按钮Click事件:;登陆按钮Click事件:;;;关闭FormLogin窗体执行的动作;5、聊天窗体:;在FormMessage.cs中创建Web服务代理对象和两个属性;FormMessage构造函数:第一个红色波浪线去掉见下页, this.timerMonitor.Start();在后面处理;;添加初始化好友列表函数:;;发送按钮的Click事件 ;发送文件按钮的Click事件 ;添加发送文件函数:;关闭窗体 ;定位FormMessage.cs[设计]*,点击VS菜单栏的视图-工具箱-所有Windows窗体,双击timer控
原创力文档


文档评论(0)