WCF接口的创建和使用

IIS默认没有WCF运行环境,我自行百度的解决方案,大家可以点击参考下
第一次做的时候参考的文章,创建WCF服务应用程序是可以直接挂在IIS上运行的,不需要控制台去控制服务是否开启
1.使用VS2019创建一个新项目
WCF接口的创建和使用_第1张图片 WCF接口的创建和使用_第2张图片

将原有的 Class1.cs文件删除,选择项目右键 – 新建项,找到WCF 服务
WCF接口的创建和使用_第3张图片

IService1.cs中添加一段代码,

		[OperationContract]
        string GetData(int value);
WCF接口的创建和使用_第4张图片

Service1.cs中添加一段代码,

		public string GetData(int value)
        {
            return string.Format("You entered: {0}", value);
        }
WCF接口的创建和使用_第5张图片
5.添加一个控制台程序,控制接口服务的开启与关闭

创建完之后,添加WCF项目的引用
WCF接口的创建和使用_第6张图片

将WCF项目下的app.config配置,复制到控制台程序下的App.config,http地址可以自行修改
赋值这几行就可以了

此http地址后面接口测试的时候需要用到

    
      
    
  

打开控制台程序的 Program.cs,将以下代码粘贴过去

 			var _lineService = new ServiceHost(typeof(Service1));
            _lineService.Open();
            Console.WriteLine("接口服务已启动");
            while (true)
            {
                Console.ReadLine();
            }
WCF接口的创建和使用_第7张图片

类名 Service1()一定要写对了,对应的是WCF项目中的Service1.cs,然后鼠标放上去添加using指令

下面这个 ServiceHost直接引用dll程序集就行

将控制台项目设置成启动项目,运行
WCF接口的创建和使用_第8张图片

3.启动命令行工具 Developer Command Prompt for VS 2019

WCF接口的创建和使用_第9张图片
输入 wcftestclient,出现 WCF 测试客户端界面

WCF接口的创建和使用_第10张图片

点击 文件 – 添加服务,将控制台程序App.config中的http地址粘贴过来,点击确定出现如下界面
http://127.0.0.1/WcfService/Service/

WCF接口的创建和使用_第11张图片
4.测试系统给的接口是否好用

双击左侧的方法,在右侧上半部分输入一个值,点击调用,下面会出现一个返回值,证明接口调用成功
WCF接口的创建和使用_第12张图片

到这里接口就算是完成了,也可以再写一个winform窗体应用程序,调用下接口
5.添加一个winform项目,测试下接口

首先再添加服务引用之前,找到你的控制台程序文件目录下的debug,管理员启动exe程序

找到引用 – 右键 – 添加服务引用
WCF接口的创建和使用_第13张图片
将上面App.config中的http地址粘贴过来
http://127.0.0.1/WcfService/Service/
WCF接口的创建和使用_第14张图片

出现如下,就说明服务引用添加成功了
WCF接口的创建和使用_第15张图片

然后添加一个按钮,双击进入Click事件,添加如下代码

 			Service1Client sercive = new Service1Client();
            // sercive.GetData(1);
            MessageBox.Show(sercive.GetData(1));
WCF接口的创建和使用_第16张图片

如果你不知道这个类名是什么,点击服务引用
WCF接口的创建和使用_第17张图片

这个就是你 的类名

Service1Client sercive = new Service1Client();

WCF接口的创建和使用_第18张图片

将winform程序设置为启动项目 运行
WCF接口的创建和使用_第19张图片

完美!

注意控制台程序相当于服务端,必须管理员运行它,然后再启动winform应用程序,才可以去调用这个接口

我将这个demo上传到CSDN上,有需要的可以去我上传的资源中下载WCFTest.zip,运行一下看看效果

我也存放在了百度网盘中,点击自提https://pan.baidu.com/s/1zVso8kr0qKXk7k5XuR68oA

提取码:1336

你可能感兴趣的:(.NET,Framework,接口,c#)