WCF 一步一步 发布 WCF服务 到 IIS (图)

时间:2023-12-21 13:12:14

WCF 一步一步 发布 WCF服务 到 IIS (图)

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

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

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

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

新建一个WCF 服务库

WCF 一步一步 发布 WCF服务 到 IIS (图)

建立一个WCF服务应用程序

WCF 一步一步 发布 WCF服务 到 IIS (图)

结果如下

WCF 一步一步 发布 WCF服务 到 IIS (图)

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

WCF 一步一步 发布 WCF服务 到 IIS (图) WCF 一步一步 发布 WCF服务 到 IIS (图)

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

WCF 一步一步 发布 WCF服务 到 IIS (图)

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

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

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

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

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

WCF 一步一步 发布 WCF服务 到 IIS (图)

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

WCF 一步一步 发布 WCF服务 到 IIS (图)

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

WCF 一步一步 发布 WCF服务 到 IIS (图)

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

WCF 一步一步 发布 WCF服务 到 IIS (图)

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

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

WCF 一步一步 发布 WCF服务 到 IIS (图)

测试服务

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

WCF 一步一步 发布 WCF服务 到 IIS (图)

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

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

WCF 一步一步 发布 WCF服务 到 IIS (图)

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

WCF 一步一步 发布 WCF服务 到 IIS (图)

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

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

WCF 一步一步 发布 WCF服务 到 IIS (图)

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

WCF 一步一步 发布 WCF服务 到 IIS (图)

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

WCF 一步一步 发布 WCF服务 到 IIS (图)

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

附加内容

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

WCF 一步一步 发布 WCF服务 到 IIS (图)

源代码:WcfIIS.rar