使用VS自带的WCFSVCHost(WCF服务主机)发布WCF服务,时刻开发人员测试使用。

下面我们来看一下如何在IIS中部发布一个WCF服务。

环境是VS 2008 (公司电脑没有安装VS2010)^_^

我们从头开始,不写代码,完全的配置,会收获不小。

新建一个WCF 服务库

image

建立一个WCF服务应用程序

image

结果如下

 

image

删除掉WCF程序中不需要的默认文件,如下图

image image

为WcfService1项目添加WcfServiceLibrary1的引用,如下图。

 

 

 

image

 

修改声明指示内容,让这个Service.svc文件的后台代码指向我们创建的WCF服务库项目--WcfServiceLibrary1项目中的服务类,改后的代码如下:

<%@ ServiceHost Language="C#" Debug="true" Service="WcfServiceLibrary1.Service1" %>

 

Ctrl+Shift+B 编译一下解决方案,配置工具用的反射,先编译才行

 

此时我们的WCF服务站点并不能把WCF服务库中的服务和终结点发布出来,还需要我们对web.config进行一系列的配置工作。

右键我们要配置的Web.Config文件,编辑WCF配置

image

在弹出的服务配置窗口中,把Service1服务指定到WCF服务库的WcfServiceLibrary1.dll中的WcfServiceLibrary1.Service1服务类上。

 

image

再把其中的一个对外终结点的Contract设为WCF服务库的WcfServiceLibrary1.dll中的WcfServiceLibrary1.IService1服务契约上。

image

这一步是可选的,我们再为此WCF服务站点添加一个终结点,配置如下图

image

 

下面我们将试着使用不同的终结点与WCF服务进行交互,查看运行情况。

 

当我们使用IIS5或IIS6发布WCF服务的时候一般只创建Http绑定的终结点,而不能创建使用TCP绑定、管道绑定的终结点。

image

 

 

 

 

 

测试服务

在Service1.svc上右击,选择“在浏览器中查看”,在IE中运行此服务。

image

由此我们看到我们可以在ASP.NET Development Server中发布我们的WCF服务了。

右键WcfService1项目,找到Web选项卡,使用IIS调试,就是部署在IIS的虚拟目录上了

image

设置默认启动页面为,Service1.svc  按F5

image

在WCF测试客户端调用我们刚刚在IIS中发布的WCF服务, 关于更多WCF 测试客户端(WcfTestClient.exe) 

注意,使用下图的命令提示窗口,运行WcfTestClient

image

添加服务,并输入服务的地址,这是必须的

image

不得不感叹,微软的东西就是好用啊。

2009-12-23_113013

 

 

我们可以看到发布的服务中有两个终结点:这两个终结点的传输方式不同,但提供的方法是相同的。

 

附加内容

你可以通过上面的方法,集成多个Wcf服务库到WcfService1中来,动手试试吧

2009-12-23_114828

 

源代码:WcfIIS.rar

posted on 2009-12-22 09:08  冯瑞涛  阅读(38934)  评论(5编辑  收藏  举报