上一篇是Windows服务为宿主的WCF服务,现在用IIS为宿主发布WCF服务。
第一步:肯定是新建一个WCF服务啦【是WCF服务应用程序】,然后在解决方案上再次添加一个新项目【我们选择WCF服务库,添加此服务库完全是为了以后编码的方便。】看下图:
第二步:将WCFService中的IService1.cs和Service1.svc.cs删除掉【我们要用WCFServiceLibrary中的类】,然后在WCFService添加引用WCFServiceLibrary。最后我们双击Service1.svc,修改一下他的声明指示,让他的代码指向我们建立的WCF服务库项目WCFServiceLibrary。
修改之前是:<%@ ServiceHost Language="C#" Debug="true" Service="WCFService.Service1" CodeBehind="Service1.svc.cs" %>
修改之后是:<%@ ServiceHost Language="C#" Debug="true" Service="WCFServiceLibrary.Service1" %>看下图:
第三步:我们就要开始配置web.config,我们知道WCF实现通信的核心要素就是结点【Endpoints】,而Endpoint由三部分组成:Address,Binding,Contract我们一般简称为WCF的ABC。这里我们直接配置,就不手写啦,看下图:右击web.config,选择【编辑WCF配置】。
第四步:WCF配置 图一:点击新建服务
图二:浏览,添加【此处一定要先重新生成解决方案】。
图三:配置完成。
第五步:将发布WCF,并放在IIS上。【我们之前建了一个WCF服务库WCFServiceLibrary中的方法GetData(),我们一会要在客户端调用】
右击WCFServiceLibrary--->发布。
第六步:打开IIS,添加网站并且将对应的应用程序池中的.NET Framework版本选择为一致。发布成功,浏览看下图:
第七步:开始调用吧,新建一个控制台应用程序。添加服务引用,看下图:
第八步:完成调用,并调试。看下图: