IIS是WCF服务的宿主之一,在新建Web Site的时候有WCF Service模板可以供选择,不过依据WCF Service模板创建的站点是将服务和宿主整合在一起了,下面就来看看如何将一个已有的WCF服务寄存在IIS中。
1 在一个简单的WCF示例一文的解决方案中添加新的站点,选择WCF Service模板,地址设置为http://localhost/IISHostedService,如下图:
2 确定后,WCF Service模板就生成了一个带有服务的站点,因为我们要将已有服务寄存在该站点中,所以要删除站点中自带的服务,服务的文件在App_Code目录中,如下图:
3 添加对Service项目的引用,如下图:
4 双击项目中Service.svc文件,修改@ServiceHost指令,关联上服务类型,修改后的代码如下:
<%@ ServiceHost Language="C#" Debug="true" Service="Service.HelloWorldService"  %>

5 修改站点的Web.Config文件,找到Service节点,修改Service节点的Name属性、endpoint节点的绑定属性和契约属性,修改后的代码如下图:
6 将该站点设置为启动项目,按F5运行,如果Web.Config文件中没有配置元数据交换端点,运行后会看到如下页面:
可以根据上面页面中的步骤一步一步来配置元数据交换端点,配置好后,如果serviceMetadata节点的httpGetEnabled属性设置为false,运行后如下图所示:
在设置httpGetEnabled属性为true,再次运行可以看到svcutil指令后是一个带有?wsdl的链接地址,如下图:
点击这个链接,可以看到服务的WSDL文档,如下图:
7 IIS宿主部分已经写好,现在要做的就是使用SvcUtil工具来生成客户端的代理,打开VS2008 的命令提示窗口,输入先前站点运行后的命令提示,如下图:
8 执行后生成了一个代理文件和一个配置文件,在目录C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC 中,将这两个文件拷贝到客户程序中,配置文件改名为app.config,然后再客户程序中添加如下代码:
class Program
{static void Main(string[] args){oec2003Client proxy = new oec2003Client();Console.WriteLine(proxy.SayHello());proxy.Close();Console.ReadLine();}
}

9 运行客户程序可以看到如下结果

转载于:https://blog.51cto.com/oec2003/1050391

在IIS中寄存已有WCF服务相关推荐

  1. [老老实实学WCF] 第三篇 在IIS中寄存服务

    老老实实学WCF 第三篇 在IIS中寄宿服务 通过前两篇的学习,我们了解了如何搭建一个最简单的WCF通信模型,包括定义和实现服务协定.配置服务.寄宿服务.通过添加服务引用的方式配置客户端并访问服务.我 ...

  2. 项目中基于Rest的Wcf服务发布以及iBatisNet框架的使用(下)

    iBatisNet框架的配置使用:iBatisNet框架的好处,有很多技术文档中有描述,在此只记录如何在项目中配置使用此框架.首先 在DAL层中添加引用:IBatisNet.DataMapper.dl ...

  3. 在IIS(64位)上部署WCF服务访问Oracle数据库

    一.安装oracel10g client,必要时请使用administrator用户登录系统后再安装 二.找到安装目录下的bin目录,添加ASP.NET相关的用户权限,之后重启IIS,否则会报告: S ...

  4. 部署承载于 Internet 信息服务中的 WCF 服务

    部署承载于 Internet 信息服务中的 WCF 服务 开发和部署承载于 Internet 信息服务 (IIS) 中的 Windows Communication Foundation (WCF) ...

  5. WCF4.0进阶系列--第四章 保护企业内部的WCF服务(转)

    http://www.cnblogs.com/yang_sy/archive/2011/05/24/2054834.html [摘要] 安全是任何系统至关重要的一个方面,尤其当该系统由分布式的程序和服 ...

  6. 寄宿于CS程序的WCF服务

    最近项目中,需要对外部程序提供服务接口,用来进行数据交互和部分设备控制.由于都是使用的.NET平台开发的,因此想到使用WCF服务.之前也用过WCF服务,但是当初使用的时候是通过IIS寄宿的,有些地方不 ...

  7. WCF服务开发与调用的完整示例

    第一步.建立WCF服务库 点击确定,将建立一个WCF 服务库示例程序,自动生成一个包括IService1.cs和Service1.cs两个类文件.我们可以直接对其修改开发我们的服务,但一般直接删除. ...

  8. VB.NET工作笔记008---vs2017创建使用WCF服务_并调用服务demo

    技术交流QQ群[JAVA,.NET,BigData,AI]:170933152 声明,找的例子,之前没有做过wcf,但是看了看例子感觉挺简单的,记一下吧 WCF的全称是Windows Communic ...

  9. WCF服务端调用client.

    wcf服务端 1,新建一个"windows窗口程序"名称为WCFServer2. 2.然后加入一个"WCF服务"名称为Service1. 详细步骤为:解决方式试 ...

最新文章

  1. python语言标号_Python 编码为什么那么蛋疼?
  2. matlab中tecdem,TopoToolbox: A set of Matlab functions for topographic analysis
  3. 超级棒的170+款web前端开发工具汇总,千万要收藏好!
  4. eclipse和myeclipse中如何关闭自动补全括号,花括号,双引号等功能
  5. 电子计算机技能竞赛数据,2015年浙江省中等职业学校计算机应用技术专业学生职业技能大赛“计算机检测维修与数据恢复”赛项规程.doc...
  6. 网络解析(一):LeNet-5详解
  7. 视图切换—多模板文档视图结构的应用
  8. react 引入轮播插件_React.js实现轮播图
  9. 作为职场小白,除了要注意自身的言谈举止
  10. DataRow 点不出 Select
  11. xml中加html源码,从xml获取数据以插入html标签,但在源代码中未看到
  12. 20200726 plecs 元件显示变量名
  13. 使用Maven构建Eova项目
  14. 学嵌入式有必要参加培训吗
  15. phpnow安装教程
  16. 串行通信——异步串行通信
  17. 阿里云的WEB应用防火墙(WAF)能抵挡什么攻击
  18. 工业级4G路由器的应用特点
  19. Qgis教程09:高程栅格数据
  20. hadoop3.X 和 Hadoop 2.X的web端口号访问

热门文章

  1. selenium之输出html测试报告
  2. django框架下celery+rabbitmq+flower完成异步任务
  3. 2017.11.21T19_B2_6.2讲义
  4. Linux基础二(挂载、关机重启与系统等级)
  5. winform代码生成器(三)
  6. 洛谷——P2871 [USACO07DEC]手链Charm Bracelet
  7. js与android webview交互
  8. 查找字符串中第一个只出现一次的字符
  9. [转]VS2010中水晶报表安装应用及实例
  10. 何佳文(帮别人名字作诗)