随笔 - 705  文章 - 0  评论 - 1103  阅读 - 138万 

使用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   冯瑞涛  阅读(38943)  评论(5编辑  收藏  举报
编辑推荐:
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
阅读排行:
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· DeepSeek如何颠覆传统软件测试?测试工程师会被淘汰吗?
点击右上角即可分享
微信分享提示