一、什么是WCF
Windows Communication Foundation(WCF)是由微软发展的一组数据通信的应用程序开发接口,可以翻译为Windows通讯接口,它是.NET框架的一部分。由 .NET Framework 3.0 开始引入。
从我现在获得的知识,我理解的WCF重点是分布式,比如我们合作可以不把程序都放在一个电脑中,每人一层,同样也可以进行断点调试。
WCF的第一个版本为服务开发提供了许多有用的功能,包括托管、服务实例管理、异步调用、可靠性、事务管理、离线队列调用以及安全性。
二、VS中添加WCF的应用程序
1. 新建立空白解决方案,并在解决方案中新建项目,项目类型为:WCF服务应用程序。
2. 此时vs2019会自动生成WCF接口文件IService.cs,我们在IService.cs中定义WCF接口,在Service.svc.cs对该接口的方法进行实现。
三、定义接口与实现
IService代码示例
using System;
using System.Collections.Generic;
using System.Linq;
using System.Runtime.Serialization;
using System.ServiceModel;
using System.Text;namespace WcfService1
{[ServiceContract]public interface IService1{[OperationContract]void Test(); }
}
Service代码示例
using System;
using System.Collections.Generic;
using System.Linq;
using System.Runtime.Serialization;
using System.ServiceModel;
using System.Text;namespace WcfService1
{public class Service1 : IService1{public void Test(){throw new Exception("连接成功");}
}
我们可以看到接口中比普通的接口多了[ServiceContract]、[OperationContract]。
[ServiceContract],来说明接口是一个WCF的接口,如果不加的话,将不能被外部调用。
[OperationContract],来说明该方法是一个WCF接口的方法,不加的话,也不能被外部调用。
四、测试
1. 将Service1设为起始页
2. 运行这个程序,会支佛那个弹出WCF的测试客户端。
3. 点击Test→调用
4. 程序会抛出异常“连接成功”
五、把WCF程序寄宿在IIS之上
把WCF程序寄宿在IIS之上,把刚刚建立的WCF程序“部署”在我的服务器上,其他人就可以通过服务器的应用程序来访问我的服务器的WCF程序,实现服务器端的应用程序通讯。
见博客:(10条消息) 将WCF程序寄宿在IIS之上_憧憬是碎了满地凉凉的宝石-CSDN博客
六、添加服务引用
1. 通过添加服务引用:其他人就可以引用我们的Service服务,同样我们也可以由此引用他人的Service服务。
2. 在此页面添加服务地址,引用成功就ok了!
七、分布式联调
1. 用管理员身份运行VS,调试→附加到进程
2. 显示全部进程→选择w3wp.exe
3. 至此就可以调试分布在不同电脑上的同一个程序。