使用VS 自带的WCFSVCHost(WCF 服务主机)发布WCF 服务,时刻开发人员测试使用。 下面我们来看一下如何在 IIS 中部发布一个 WCF 服务。 环境是 VS 2008 (公司电脑没有安装 VS2010)^_^ 我们从头开始,不写代码,完全的配置,会收获不小。 新建一个 W CF 服务库 建立一个 W CF 服务应用程序 结果如下 删除掉 W CF 程序中不需要的默认文件,如下图 为WcfService1 项目添加WcfServiceLibrary1 的引用,如下图。 修改声明指示内容,让这个 Service.svc 文件的后台代码指向我们创建的WCF 服务库项目--WcfServiceLibrary1 项目中的服务类,改后的代码如下: <%@ ServiceHost Language="C#" Debug="true" Service="WcfServiceLibrary1.Service1" %> Ctrl+Shift+B 编译一下解决方案,配置工具用的反射,先编译才行 此时我们的WCF 服务站点并不能把 WCF 服务库中的服务和终结点发布出来,还需要我们对 web.config 进行一系列的配置工作。 右键我们要配置的Web.Config 文件,编辑 WCF 配置 在弹出的服务配置窗口中,把Serv ice1 服务指定到WCF 服务库的WcfServ iceLibrary 1.dll中的WcfServ iceLibrary 1.Serv ice1 服务类上。 再把其中的一个对外终结点的Contract 设为WCF 服务库的WcfServ iceLibrary 1.dll 中的WcfServ iceLibrary 1.IServ ice1 服务契约上。 这一步是可选的,我们再为此 W CF 服务站点添加一个终结点,配置如下图 下面我们将试着使用不同的终结点与WCF 服务进行交互,查看运行情况。 当我们使用IIS5 或IIS6 发布WCF 服务的时候一般只创建Http 绑定的终结点,而不能创建使用TCP 绑定、管道绑定的终结点。 测试服务 在Serv ice1.s v c 上右击,选择“在浏览器中查看”,在IE 中运行此服务。 由此我们看到我们可以在ASP.NET Dev elopment Serv er 中发布我们的WCF 服务了。 右键 WcfServ ice1 项目,找到Web 选项卡,使用 IIS 调试,就是部署在IIS 的虚拟目录上了 设置默认启动页面为,Serv ice1.s v c 按 F5 在WCF 测试客户端调用我们刚刚在IIS 中发布的WCF 服务, 关于更多W CF 测试客户端(WcfTestClient.ex e) 注意,使用下图的命令提示窗口,运行 WcfTestClient 添加服务,并输入服务的地址,这是必须的 不得不感叹,微软的东西就是好用啊。 我们可以看到发布的服务中有两个终结点:这两个终结点的传输方式不同,但提供的方法是相同的。 附加内容 你可以通过上面的方法,集成多个Wcf 服务库到WcfServ ice1 中来,动手试试吧