什么是WCF

Windows Communication Foundation (WCF) 是一个框架,用于生成面向服务的应用程序。它取代了较旧的进程间通信技术,例如 ASMX Web 服务、.NET 远程处理、企业服务 (DCOM) 和 MSMQ。 WCF 将所有这些技术的功能汇集在一个统一的编程模型下,简化了开发分散式应用程序的体验。 使用 WCF,可以将数据作为异步消息从一个服务终结点发送到另一个服务终结点。 服务终结点可以是由 IIS 承载的持续可用的服务的一部分,也可以是应用程序中承载的服务。 终结点可以是从服务终结点请求数据的服务客户端。 简单消息可以是作为 XML 发送的单个字符或单个单词,复杂消息可以是二进制数据流。

创建WCF服务

如果发现找不到wcf项目,这时你需要去安装Visual Studio 的Windows Communication Foundation组件

1.  创建过程如下

2. 项目创建成功后,会自动生成的一些演示文件

IService1.cs

 // 注意: 使用“重构”菜单上的“重命名”命令,可以同时更改代码和配置文件中的接口名“IService1”。
[ServiceContract]
public interface IService1
{
[OperationContract]
string GetData(int value); [OperationContract]
CompositeType GetDataUsingDataContract(CompositeType composite); // TODO: 在此添加您的服务操作
} // 使用下面示例中说明的数据约定将复合类型添加到服务操作。
// 可以将 XSD 文件添加到项目中。在生成项目后,可以通过命名空间“WcfServiceDemo.ContractType”直接使用其中定义的数据类型。
[DataContract]
public class CompositeType
{
bool boolValue = true;
string stringValue = "Hello "; [DataMember]
public bool BoolValue
{
get { return boolValue; }
set { boolValue = value; }
} [DataMember]
public string StringValue
{
get { return stringValue; }
set { stringValue = value; }
}
}

Service.cs

 // 注意: 使用“重构”菜单上的“重命名”命令,可以同时更改代码和配置文件中的类名“Service1”。
public class Service1 : IService1
{
public string GetData(int value)
{
return string.Format("You entered: {0}", value);
} public CompositeType GetDataUsingDataContract(CompositeType composite)
{
if (composite == null)
{
throw new ArgumentNullException("composite");
}
if (composite.BoolValue)
{
composite.StringValue += "Suffix";
}
return composite;
}
}

标注解释

测试服务

按 F5 运行该服务。 WCF 测试客户端 窗体随即出现并加载服务。

在“WCF 测试客户端”窗体中,双击 IService1 下的 GetData() 方法。 此时会显示 "工作" 选项卡。

在“请求”框中,选择“值”字段,并键入 1314。

如上所示,我们的服务没有问题,然后在浏览器输入服务地址http://192.168.43.219/SchoolService(配置文件中的baseAddress)查看服务,我们可以点击查看服务的wsdl文档,wsdl详细展示了服务的方法、数据类型、服务地址等信息。

Visual Studio2019 使用WCF服务的更多相关文章

  1. WCF入门(五)---创建WCF服务

    使用Microsoft Visual Studio2012创建WCF服务,理解如下所有必要的编码,更好地创建WCF服务的概念,这里做一个简单的任务. 启动Visual Studio 2012. 单击新 ...

  2. 创建WCF服务的过程

    一.创建控制台WCF工程 1.创建一个控制台工程2.System.ServiceModel的引用3.可创建多个WCF服务,如:IService.cs和Service.cs    顺序:右键->添 ...

  3. visual studio 2015通过附加进程调试wcf服务

    网站: 打开wcf服务所在的项目 然后调用iis上部署的HLFC(crm)项目的接口就可以进行调试 注意 WCF服务项目要以管理员身份打开,调用wcf服务的项目要在iis中部署并点击调用后才能在附加到 ...

  4. C# WCF服务端搭建和客户端调用

    1) 打开Visual Studio 2012,在菜单上点击文件->新建->项目->WCF服务应用程序.在弹出界面的"名称"对应的文本框中输入"WcfS ...

  5. WCF服务承载(笔记)

    自托管(也做自承载) 承载 WCF 服务最灵活.最便捷的方法就是进行自承载.要能够自承载服务,必须满足两个条件.第一,需要 WCF 运行时:第二,需要可以承载 ServiceHost 的托管 .NET ...

  6. WCF服务二:创建一个简单的WCF服务程序

    在本例中,我们将实现一个简单的计算服务,提供基本的加.减.乘.除运算,通过客户端和服务端运行在同一台机器上的不同进程实现. 一.新建WCF服务 1.新建一个空白解决方案,解决方案名称为"WC ...

  7. WCF服务接口多,客户端在引用时出错!报WCF The maximum nametable character count quota (16384) has been exceeded while reading XML data错误

    WCF服务接口多,客户端在引用时出错!报WCF The maximum nametable character count quota (16384) has been exceeded while ...

  8. WCF初探-7:WCF服务配置工具使用

    在上一篇WCF服务配置中,文章讲解了WCF的配置所需要的基本节点和属性构造,但是对于初学者的我们在编写程序的时候,往往对这些节点的位置和属性不是特别清楚,所以就导致我们的因配置文件错误而不能运行服务程 ...

  9. WCF初探-9:WCF服务承载 (下)

    在WCF初探-8:WCF服务承载 (上)中,我们对宿主的概念.环境.特点做了文字性的介绍和概括,接下来我们将通过实例对这几种寄宿方式进行介绍.为了更好的说明各寄宿环境特点,本实例采用Http和net. ...

  10. 创建WCF服务寄宿到IIS

    一.WCF简介: Windows Communication Foundation(WCF)是由微软开发的一系列支持数据通信的应用程序框架,可以翻译为Windows 通讯开发平台. 整合了原有的win ...

随机推荐

  1. python操作redis集群、redis主从+哨兵

    主从+哨兵 from redis.sentinel import Sentinel if __name__ == '__main__': # 哨兵监听的别名,这个就是你redis配置中的名字 serv ...

  2. NetSuite 开发日记:批量增删改

    一.批量插入/创建 使用 record.create() 插入数据时,一次只能插入一条,有多条数据需要插入时只能通过循环的方式,这样效率非常慢,耗时会随着数据量的增大而呈线性增长,有一种巧妙的方式可以 ...

  3. AES算法在网络安全中的应用:如何守护数据宝藏?

    摘要:高级加密标准(AES)是美国国家标准与技术研究所(NIST)用于加密电子数据的规范.本文从历史.算法原理.性能优势和应用等方面全面介绍了AES算法,旨在帮助读者更好地理解这一广泛应用的对称加密算 ...

  4. Keepass调用Xshell、SecureCRT、RDP、Putty的方法(一劳永逸版)

    依次点击"工具"--"选项"--"集成"--"网址替代"--"添加"--添加"方案&quo ...

  5. 玩转Python:处理音频文件,两个非常重要的库,很实用,附代码

    pyaudio和sounddevice都是用于Python中音频处理和流的库,允许用户通过他们的API录制.播放和处理音频数据.下面是对这两个库的简要介绍: PyAudio PyAudio 提供了 P ...

  6. Linux集群存储配置

    RH436_EX集群 介绍Linux环境下集群架构,Linux开源集群软件的安装及配置使用,软件与软件之间的组合.实现高可用集群,负载均衡集群;负载均衡.高可用集群与存储集群间的多集群混合架构使用. ...

  7. java生成企业公章图片源代码

    企业公章图片在电子签章业务中应用广泛,在电子签章应用过程中首先需要生成公章图片,然后再使用公章图片结合数字签名技术完成电子签,这样就实现了从可视化到不可篡改的数字化电子签章功能,以下是企业公章图片生成 ...

  8. 【华为云技术分享】STM32L476移植华为LiteOS系列教程------背景知识 1

    一.这篇文章想向大家说明一个问题,我们开发单片机的本质是什么? 在最早的开发中,我们没有Keil.IAR等等一系列好用的单片机集成开发环境,注意这里的"集成",是指将多个软件其中有 ...

  9. GaussDB(DWS)性能调优:Sort+Groupagg聚集引起的性能瓶颈案例

    本文分享自华为云社区<GaussDB(DWS)性能调优:Sort+Groupagg聚集引起的性能瓶颈案例>,作者: O泡果奶~ . 本文针对SQL语句长时间执行不出来,且verbose执行 ...

  10. 云小课 | 华为云KYON:网段零修改上云,简单又好用

    摘要:KYON(Keep Your Own Network)是华为云推出的企业级云网络解决方案,KYON能让用户直接将IDC组网搬到云上,网段零修改,简单又好用. 本文分享自华为云社区<[云小课 ...