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服务。

一、 创建 控制台 WCF 工程1. 创建 一个控制台工程2.System.ServiceModel的引用3.可 创建 多个 WCF 服务 ,如:IService.cs和Service.cs 顺序:右键->添加->新建项->Visual c#项-> WCF 服务 4.在Main方法里调用 服务 ServiceHost host = new ServiceHost(typeof(Service1)... Windows Communication Foundation( WCF )是由微软发展的一组数据通信的应用程序开发接口,可以翻译为 Windows 通讯接口,它是 .NET 框架的一部分。由 .NET Framework 3.0 开始引入。 WCF 的最终目标是通过进程或不同的系统、通过本地网络或是通过Internet收发客户和 服务 之间的消息。 WCF 合并了Web 服务 我们在开发 wcf 时,一般用vs建立 wcf 项目,然后代码自动生成。但如果你想要真正了解全过程,不防,咱门今天晚上自己从零开始。完成一个 wcf 服务 发布。模拟场景:我们要建立一个全国文凭资源查询系统。用 服务 形式进行公开。1.首先我们建立一个空白解决方案:My WCF 2.我们再来建立一个 Windows 程序项目。DiplomaService如图,记住一定是 Windows 程序项目在D WCF .NET 提供的一种 服务 ,可以将自己写的程序(完成特定功能,比如从数据库中读取数据操作等)分装成 服务 以后,发布到 服务 器上。然后会生成一个网址,客户端在编程的时候,可以引用这个 服务 ,使用这个 服务 中提供的功能。     举个实际的例子,我想从数据库中读取相关文章数量大于3的基因,数据库表GeneSymbol,包含两个字段(genename,count),现在我想每次给数据库一个参数n(代表文章 一. WCF 服务 Windows Communication Foundation( WCF )是由微软发展的一组数据通信的应用程序开发接口,可以翻译为 Windows 通讯接口,它是 .NET 框架的一部分。由 .NET Framework 3.0 开始引入。 WCF 的最终目标是通过进程或不同的系统、通过本地网络或是通过Internet收发客户和 服务 之间的消息。 WCF 合并了Web 服务 .Net R... 要自定义 WCF 服务 中处理客户端POST请求数据的行为,您可以 创建 一个自定义的消息编码器(Message Encoder),并将其添加到 服务 终结点(Service Endpoint)的绑定(Binding)中。编译和部署 WCF 服务 。总之,要自定义 WCF 服务 中处理客户端POST请求数据的行为,您需要 创建 一个自定义消息编码器,并将其添加到 服务 终结点的绑定中。要将自定义消息编码器添加到 服务 终结点的绑定中,您可以在配置文件中指定一个自定义绑定(Custom Binding),并将自定义消息编码器添加到绑定中。 Windows Communication Foundation( WCF )是由微软发展的一组数据通信的应用程序开发接口,可以翻译为 Windows 通讯接口,它是 .NET 框架的一部分。由 .NET Framework 3.0 开始引入。 WCF 的最终目标是通过进程或不同的系统、通过本地网络或是通过Internet收发客户和 服务 之间的消息。 WCF 合并了Web 服务 、.ne... 整个 wcf 一般会 创建 3个程序集 ① wcf 服务 程序集: *dll文件,包含了希望向外部用户公开的整体功能的类和接口。 ② wcf 服务 宿主: HOST模块,承载了 wcf 服务 程序集的实体。 ③ wcf 客户端: 通过中间代理访问 服务 功能的应用程序。 首先学习通过最麻烦最细节的方式来做。 新 创建 一个class lib,修... QtSOAP是Qt对标准SOAP协议的支持库,遵循LGPL协议发布。现在公司的项目是基于微软 WCF 的Webservice做的,之前是再将 服务 发布JSON格式,客户端直接访问的,很简单。但是现在 WCF 的人们都很忙,没时间给修改这个东西。只好在客户端来做工作支持 WCF 的Webservice。 WCF 的Webservice和QtSoap支持的格式有所区别。将envelope命名空间修改为了"http: 1什么是 WCF ? Windows Communication Foundation( WCF )是由微软开发的一系列支持数据通信的应用程序框架,具体的一些概念可以去微软官网查找, 这有篇文章讲的不错可以看看,原文链接: http://www.cnblogs.com/jiekzou/ 下面就以项目为驱动的方式去讲解,实现一个简单的聊天小项目 2. WCF 项目的 创建 :本项目使用VS2017开发 首先 创建 服务 ...