WPF架构服务与端客户端介绍

WPF架构服务与端客户端介绍

WPF(Windows Presentation Foundation)是微软推出的基于Windows 的用户界面框架,属于.NET Framework 3.0的一部分。它提供了统一的编程模型、语言和框架,真正做到了分离界面设计人员与开发人员的工作;同时它提供了全新的多媒体交互用户图形界面。
除此之外我们WPF应用程序又分为客户端和服务端,客户端是给客户用的,能对数据进行操作,而服务端则是程序员维护逻辑代码的地方,一般不交由客户管理,客户端与服务端分开管理能有效地维护逻辑代码;
一个WPF应用程序是客户端—服务端—数据库紧密联系的,客户端请求服务,然后服务器到数据库查询数据,再返回服务端,服务再返回客户端。这个过程就像我们去银行存取现金一样,我们要把自己的要求告诉前台人员,前台人员再根据我们的需求(取钱),到账房进行相应操作(取钱给客户)。下面就以我最近学习的WPF架构的客户端与服务端的连接关系吧!
首先我们的先创建一个WPF应用程序项目,这个就不多做介绍了,创建好的这个WPF应用程序就是我们的客户端,在里面编辑窗体和具体方法,如图所示;

这是客户端的登录页面
在这里插入图片描述
接着就是创建服务端了,服务端那边创建一开始并非直接创建服务端类,我们在新建项目时就需要新建一个类库命名为BLL,其实这就跟我们的Winform窗体应用程序类似了,都要创建BLL(逻辑层),DAL(数据层);不同的是,WPF的界面层是在客户端写的,所以服务端这边就不用创建UIL层了,而是通过服务WCF服务连接客户端的;
1、首先创建 一个类库(BLL),如图
在这里插入图片描述

2、第二步就是创建在刚刚创建好的项目里再新建一个类库(DAL),在DAL新建一个类(DALMethod)用于封装连接数据库以及对数据库进行处理的方法;
3、第三步就是新建一个WCF服务应用程序(WcfService),用于连接客户端,建好的服务端如图所示:
在这里插入图片描述

另外服务端的各个层之间有层与层之间应用服务层(WcfService)引用逻辑层(BLL),逻辑层引用数据层(DAL),数据层(DAL)连接数据库,客户端与服务层连接;
如上图,我在DLL 里新建了一个查询登录类Login.cs,要想客户端调用到我的查询登录方法需要在这个类前面定义服务契约(ServiceContract),然后在方法体前定义操作契约(OperationContract),如图所示
在这里插入图片描述
在这里插入图片描述
做好上面的准备工作就要配置服务了,一定要注意把服务层设置为启动项,然后在服务层下面的Web.config单击鼠标右键选择“编辑WCF配置”进入配置服务窗口;
首先在高级—服务行为里面的行为命名为BLL;
在这里插入图片描述
其次给行为里面的堆栈元素修改默认配置,这个很重要;把serviceMetadata 默认的配置依次改为True,False,Default;把serviceDebug默认配置改为True,True,True;
接着就是新建服务了:
点击服务,然后在窗体右边点击新建服务,点击浏览,进入目录之后,点击右上角的返回上一层目录依次点击\BLL\bin\Debug\BLL.dll文件夹就可以找到服务类型了,如图 因为我在BLL创建的类是Login;选中Login双击它进入新增,然后一直点击下一步,调到终结点地址时把终结点地址清空继续下一步,弹出框点击是,点击完成;

在这里插入图片描述
在这里插入图片描述
新建好服务后回到配置里,点击刚创建好的服务BLL.Login,给BehaviorConfiguration 选择附属项BLL,复制一下Name名称BLL.Login;然后点击高级,点击下面的宿主环境的serviceActivations,在里面新建一个工厂,把刚复制的服务名称粘贴到Service上,把刚复制的服务名称加上后缀.svc粘贴在RelativeAddress;复制RelativeAddress项的内容点击确定完成服务配置;
在这里插入图片描述
完成服务配置后就要验证服务了,启动服务端应用程序,加载成功后就把刚刚复制RelativeAddress项里面的内容粘贴到浏览器末尾,单击回车如果跳到下面页面则配置成功了;

在这里插入图片描述
最后我们到我们的客户端项目里添加服务应用,把从刚刚启动的服务项目运行的网页复制链(http://localhost:3927/BLL.Login.svc)接拷贝添加服务的地址项上,点击转到,如果能找到服务说明链接服务器成功了,接着就改一下命名空间名称确定就可以了;然后客户端要访问服务端的方法就实例化一下刚刚引用的服务就可以了,因为我这里引用的时BLL.Login方法所以我实例化的代码如下:
BLL.Login.LoginClient myLoginClient = new BLL.Login.LoginClient();
这样你就可以访问服务端了,实现服务端处理完成数据返回客户端了;
下图是添加服务引用窗体
在这里插入图片描述
本次总结不够详细,有问题的可以留言,定竭力解决;

  • 0
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
在CS架构中,服务程序更新后,客户端程序随之更新的步骤如下: 1. 服务程序更新:当服务程序需要进行更新时,开发人员需要对服务程序进行修改和优化。这可能包括修复漏洞、增加新功能或调整性能等。在修改完成后,开发人员需要将更新后的服务程序部署至服务器中。 2. 更新通知:一旦服务程序更新完成,服务器会向客户端发送更新通知。这通常通过向客户端发出通知消息或推送通知来实现。更新通知的内容通常包括更新的版本号、更新的内容以及更新的时间等信息。 3. 客户端程序更新:一旦客户端收到服务器的更新通知,客户端程序将开始进行更新。客户端程序通常会检查服务的更新版本号,并将当前客户端程序的版本号与服务的版本号进行比较。如果服务的版本号较高,客户端程序将会自动下载并安装更新。 4. 更新过程:在客户端进行更新时,可能涉及到下载更新文件、替换原有文件、重新启动客户端程序等步骤。下载更新文件时,客户端程序会连接服务器并将更新文件下载到本地。下载完成后,客户端会替换原有文件,确保程序能够使用最新的版本。在某些情况下,客户端程序可能需要重新启动以应用更新。 5. 更新完成:一旦客户端程序更新完成,用户可以继续正常使用该软件,并享受到更新后的功能和性能改进。 总结起来,服务程序更新后,客户端程序需要收到更新通知,并自动下载并安装更新文件。更新完成后,用户可以继续使用最新版本的客户端程序。这样可以确保服务器和客户端之间的兼容性,并为用户提供更好的用户体验。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值