每一个ASP.NET Web服务都具有一个.asmx文本文件,客户端通过访问.asmx文件实现对相应web服务的调用。与之类似,每个WCF服务也具有一个对应的文本文件,其文件扩展名为.svc。基于IIS的服务寄宿要求相应的WCF服务具有相应的.svc文件,.svc文件部署于IIS站点中,对WCF服务的调用体现在对.svc文件的访问上。
第一步、新建WCF服务站点
在解决方案上右击,选择“添加”->“新建网站”,打开新建网站对话框。在“添加新网站”对话框中,我们选择“WCF服务”,并把网站的名子命名为“CalculateIISHost”
建立起来的新的WCF服务站点的App_Code文件中自动为我们生成两个类文件:IService.cs和Service.cs。这两个文件对我们来说没有用,我们删掉。
第二步、添加引用
在刚刚创建的WCF服务站点上添加对WCF服务库项目--CalculateWcfService项目的引用。
第三步、配置Service.svc文件
双击Service.svc文件,我们可以看到它的声明指示如下:
<%@ ServiceHost Language="C#" Debug="true" Service="Service" CodeBehind="~/App_Code/Service.cs" %>
由于在第二步中我们已经把IService.cs和Service.cs两个文件已经删除了,所以这里的声明指示内容修改一下,让这个Service.svc文件的后台代码指向我们上次创建的WCF服务库项目--CalculateWcfService项目中的类,改后的代码如下:
<%@ ServiceHost Language="C#" Debug="true" Service="CalculateWcfService.CalculateService" %>
我们把其中的Service属性指定为CalculateWcfService命名空间下的CalculateService类,并把CodeBehind属性删去了。
第四步、配置此WCF服务站点与WCF服务库项目之间的类的对应。
虽然在第二步中我们添加了对Services项目的引用,并且在第三步中修改了Service.svc的类的对应,但此时我们的WCF服务站点并不能把WCF服务库中的服务和终结点发布出来,还需要我们对web.config进行一系列的配置工作。web.config配置文件的配置和上面讲过的配置方式一样,在此不再重复。
第五步、测试运行WCF服务站点
在Service.svc上右击,选择“在浏览器中查看”,在IE中运行此服务。
由此我们看到我们可以在ASP.NET Development Server中发布我们的WCF服务了。
第六步、在IIS布署此WCF服务站点。
在IIS建立Web应用程序,指向我们的WCF服务站点所在的目录。然后在IIS运行我们发布的WCF服务 。
到此为至我们在IIS中发布WCF服务成功