WCF服务
WindowsCommunication Foundation(WCF)是由微软发展的一组数据通信的应用程序开发接口,它是.NET框架的一部分,由.NET Framework 3.0开始引入,与Windows Presentation Foundation及 Windows Workflow Foundation并行为新一代Windows操作系统以及WinFX的三个重大应用程序开发类库。
在.NETFramework 2.0以及前版本中,微软发展了Web Service(SOAP with HTTP communication),.NET Remoting(TCP/HTTP/Pipeline communication)以及基础的Winsock等通信支持,由于各个通信方法的设计方法不同,而且彼此之间也有相互的重叠性(例如.NET Remoting可以开发SOAP, HTTP通信),对于开发人员来说,不同的选择会有不同的程序设计模型,而且必须要重新学习,让开发人员在用户有许多不便。同时,服务导向架构(Service-Oriented Architecture)也开始盛行于软件工业中,因此微软重新查看了这些通信方法,并设计了一个统一的程序开发模型,对于数据通信提供了最基本最有弹性的支持,这就是Windows Communication Foundation。
WCF能干啥
根据微软官方的解释,WCF(之前的版本名为“Indigo”)是使用托管代码建立和运行面向服务(Service Oriented)应用程序的统一框架。它使得开发者能够建立一个跨平台的安全、可信赖、事务性的解决方案,且能与已有系统兼容协作。WCF是微软分布式应用程序开发的集大成者,它整合了.Net平台下所有的和分布式系统有关的技术,如Enterprise Sevices(COM+).Net Remoting、Web Service(ASMX)、WSE3.0和MSMQ消息队列。以通信(Communiation)范围而论,它可以跨进程、跨机器、跨子网、企业网乃至于 Internet;以宿主程序而论,可以以ASP.NET,EXE,WPF,Windows Forms,NT Service,COM+作为宿主(Host)。WCF可以支持的协议包括TCP,HTTP,跨进程以及自定义,安全模式则包括SAML, Kerberos,X509,用户/密码,自定义等多种标准与模式。也就是说,在WCF框架下,开发基于SOA的分布式系统变得容易了,微软将所有与此相关的技术要素都包含在内,掌握了WCF,就相当于掌握了叩开SOA大门的钥匙。
以上文字解释抄的 WCF初探-1:认识WCF,在这感谢作者深入浅出的介绍。
由于可能会用到WCFService的知识,所以就学学,现在的WCF由于不能跨平台,而且随着新技术的崛起,逐渐没落了。我们来建立一个WCF服务,测试环境: win7+vs2019+.NET Framework 4.7.2.
一、新建项目
搜索WCF服务,并创建,这里有可能找不到该项目模板,可以往下拉,点击安装多个工具和功能。
在Visual Studio Installer 安装器里面新增组件,搜索WCF,并安装。
项目新建好了,就会生成三个模板文件分别是:
IService1.cs 服务实现类, 这里定义契约接口
Service1.svc 服务寄宿文件,这里可以实现接口
Web.config 配置文件
二、运行项目
我们可以直接在Service1.svc文件上,右键在选择浏览器中查看
这样我们就可以在浏览器上看到了wcf服务了,
这样就可以调试了,如果还想继续新增其他的服务,可以在菜单栏----> 项目—>添加类,搜寻WCF
是不是很简单,就创建了一个WCF服务了,至于服务调用的参数和返回的结果,就可以根据实际的情况,编写。
三、发布项目
将做好的项目,托管到IIS上,我这里的IIS是7.5的版本。我这里分开两步,
1. 建立IIS
建立应用程序池,记得使用集成托管模式,.NET Framework 是4.0的
添加网站,配置端口和项目路径,连接为需要这是一个系统的登录用户,我这里用的是 admin用户
2. 发布项目
在项目文件夹上点击右键发布,
这里目录就是刚刚IIS设置的目录:
点击发布完成。
就可以了,访问 http://127.0.0.1:9999/Service1.svc ,就能看到刚刚的效果了。
下一步我们就可以关闭wcf服务端项目,新建一个客户端项目,来调用这个wcf服务。