Loading

WCF接口的创建和使用

IIS默认没有WCF运行环境,我自行百度的解决方案,大家可以点击参考下

第一次做的时候参考的文章,创建WCF服务应用程序是可以直接挂在IIS上运行的,不需要控制台去控制服务是否开启

1.使用VS2019创建一个新项目

将原有的 Class1.cs文件删除,选择项目右键 -- 新建项,找到WCF 服务

IService1.cs中添加一段代码,

		[OperationContract]
        string GetData(int value);

Service1.cs中添加一段代码,

		public string GetData(int value)
        {
            return string.Format("You entered: {0}", value);
        }

2.添加一个控制台程序,控制接口服务的开启与关闭

创建完之后,添加WCF项目的引用
在这里插入图片描述

将WCF项目下的app.config配置,复制到控制台程序下的App.config,http地址可以自行修改
赋值这几行就可以了
此http地址后面接口测试的时候需要用到

<host>
    <baseAddresses>
      <add baseAddress="http://127.0.0.1/WcfService/Service/"/>
    </baseAddresses>
  </host>

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

 			var _lineService = new ServiceHost(typeof(Service1));
            _lineService.Open();
            Console.WriteLine("接口服务已启动");
            while (true)
            {
                Console.ReadLine();
            }

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

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

将控制台项目设置成启动项目,运行

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

在这里插入图片描述
输入 wcftestclient,出现 WCF 测试客户端界面

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

4.测试系统给的接口是否好用

双击左侧的方法,在右侧上半部分输入一个值,点击调用,下面会出现一个返回值,证明接口调用成功
在这里插入图片描述

到这里接口就算是完成了,也可以再写一个winform窗体应用程序,调用下接口

5.添加一个winform项目,测试下接口

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

找到引用 -- 右键 -- 添加服务引用

将上面App.config中的http地址粘贴过来
http://127.0.0.1/WcfService/Service/

出现如下,就说明服务引用添加成功了

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

 			Service1Client sercive = new Service1Client();
            // sercive.GetData(1);
            MessageBox.Show(sercive.GetData(1));

如果你不知道这个类名是什么,点击服务引用

这个就是你 的类名

Service1Client sercive = new Service1Client();

在这里插入图片描述

将winform程序设置为启动项目 运行
在这里插入图片描述

完美!

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

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

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

提取码:1336

posted @ 2022-08-24 16:18  DotNeter-Hpf  阅读(304)  评论(0编辑  收藏  举报