WCF学习笔记——Day1:一个WCF demo

Visual Studio2017,使用IIS托管。文中涉及一些WCF的基本概念,e.g.服务契约、托管等。可以先阅读《WCF服务编程》第一章。


 1.新建一个WCF服务库(WCF Service Library)

 有两个默认的文件:IService1.cs和Service1.cs

 IService.cs中定义了服务契约和数据契约。服务契约中定义了两个操作契约,在本demo中我们仅使用第一个,所以我就把第二个注释掉了。因为也没使用到数据契约,因此把数据契约也注释掉了。

Service.cs实现了IService接口。
 
2.服务创建好了之后,需要把服务托管起来,客户端才能使用该服务。WCF提供的三种托管服务的方式:IIS,自托管和WAS。在本demo中我们使用IIS。先确认系统已经配置了IIS。打开控制面板-程序-打开或关闭Windows功能,确认Internet信息服务这项已经选中。然后在开始菜单栏中,输入“IIS”就可以打开IIS管理器了。

 右键“网站”,选择“添加网站”

 

 添加好网页后,开启“目录浏览”。双击“目录浏览”,选择启用。

 配置一下应用池,否则会容易出现应用池版本低而报错的情况。

 
3.回到Visual Studio,修改App.config配置文件,主要是修改基地址,然后右键发布服务,选择刚刚添加的网页。
已经将Service1托管到IIS中了

 
4.创建客户端(本demo使用控制台应用),获取服务。
右键引用,添加服务引用。

 program.cs代码:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Client
{
    class Program
    {
        static void Main(string[] args)
        {
            using (ServiceReference1.Service1Client client = new ServiceReference1.Service1Client())
            {
                Console.WriteLine("-----------------------Begin-------------------------");
                Console.WriteLine(client.GetData(3));
                Console.WriteLine("-----------------------End---------------------------");
            }
            Console.Read();
        }
    }
}

运行结果:

 demo代码:

https://github.com/Larissa1990/WCFdemo_IIShost

参考文献:

https://www.cnblogs.com/xinhaijulan/archive/2010/11/14/1876989.html

https://www.cnblogs.com/buchizaodian/p/9945170.html

《WCF服务编程》

原文地址:https://www.cnblogs.com/larissa-0464/p/12161769.html