通过IIS方式寄宿服务

之前的例子是将控制台作为WCF的寄宿方式或者是直接添加契约项目的引用,然后通过配置或者是ChannelFactory的形式进行创建服务对象,其实在大多的开发中以IIS的形式创建WCF也是比较常见的。
每一个Webservice都是具有一个asmx文本文件,客户端通过访问.asmx文件即可实现Webservice的调用。当然WCF和Webservice类似,每一个WCF服务都有一个对应的.svc文本文件。基于IIS服务寄宿要求的WCF服务都具有相应的.svc文件,.svc文件部署于IIS站点中,对WCF服务的调用提现在对.svc文件的访问上。.svc文件仅仅包含一个%@ ServiceHost这样的指令,该指令具有一个必须的Service属性和一些可选的属性,如下代码所示就是一个简单的.svc文本的内容

其中指定了Service属性为一个完整名称的WCF服务类。

寄宿在IIS下的WCF服务实际上就是一个WEB应用,所以通常会把.svc文件放在Web下,并且通过web.config文件进行配置WCF的终结点和用于发布元数据的ServiceMetadataBehavior服务行为。由于服务调用是通过访问服务对应的.svc文件来实现的,这个.svc文件所在的地址对于客户端来说就是服务(终结点)的地址,因此是不需要配置终结点的adder的,配置代码如下:

除了终结点没有指定address之外,服务行为ServiceMetadataBehavior用于元数据发布时也没有指定元素的发布地址。在这种情况下,.svc文件的地址加上?wsdl查询字符串就是元数据发布地址。对于当前例子来说,当服务被成功寄宿到本地的Web应用之后,就可以通过http://127.0.0.1:1111/网站名称/CalculatorService.svc?wdsl得到表示服务元数据的WSDL文件,这也就是为什么我们右键浏览.svc文件的时候返回的是很长的xml内容。

再次修改客户端:

仅仅修改了address属性,当前假设我们的Web应用程序叫做MyWeb,这也我们的address就可以找到发布后的.svc文件了。

至此,我们一共介绍了两大类的WCF的方法:
一种是将WCF服务寄宿在控制台程序:

1.通过添加服务引用(根据元数据的地址添加),然后创建了一个Client对象,然后就可以操作了;
  2.通过添加对契约项目的引用,然后通过ChannelFactory创建了一个Channel对象(通过契约类型,Binding,以及一个地址);
  3.通过添加对契约项目的引用,然后通过ChannelFactory创建了一个Channel对象(首先会在config中配置endpoint信息,然后通过endpoint的name作为   ChannelFactory的参数进行创建)。  

一种是依靠IIS作为寄宿:

1.添加对契约项目的引用,然后通过修改配置文件的endpoint的address为.svc的地址,这样同样还是通过ChannelFactory方式进行创建代理对象;
  2.添加契约项目的引用,然后通过ChannelFactory创建了一个Channel对象(通过契约类型,Binding,以及一个地址,这时候的地址应该是.svc)。

转载于:https://www.cnblogs.com/lvjy-net/p/8297657.html

WCF引用方式之IIS方式寄宿服务相关推荐

  1. 第一章 基础 (续 在IIS中寄宿服务)

    在IIS中寄宿服务 一个WCF服务可以在操作系统中运行的任何托管进程中寄宿.服务本身一般并不知道或者关心它是怎么被寄宿的,尽管它可以通过丰富的APIs来找出来.它可以寄宿到一个不被注意的随机器初始化时 ...

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

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

  3. WCF服务寄宿IIS与Windows服务 - C#/.NET

    WCF是Windows平台下程序间通讯的应用程序框架.整合和 .net Remoting,WebService,Socket的机制,是用来开发windows平台上分布式开发的最佳选择.wcf程序的运行 ...

  4. WCF中常用的binding方式

    WCF中常用的binding方式: BasicHttpBinding: 用于把 WCF 服务当作 ASMX Web 服务.用于兼容旧的Web ASMX 服务. WSHttpBinding: 比 Bas ...

  5. vant 引进单个样式_vue 公共列表选择组件,引用Vant-UI的样式方式

    此组件用于公共选择组件.引用Vant UI 作为样式 特性: 1.支持动态.静态数据源. 2.支持分页加载. 3.支持模糊搜索. 4.支持单选.多选. 组件源码: 确认 v-model="l ...

  6. [Axis2与Eclipse整合开发Web Service系列之二] Top-Down方式,通过WSDL逆向生成服务端(续)

    前言 本篇是承接上一篇: [Axis2与Eclipse整合开发Web Service系列之二] Top-Down方式,通过WSDL逆向生成服务端 在上一篇粗略地介绍了如何使用Top-Down的方式创建 ...

  7. [Axis2与Eclipse整合开发Web Service系列之二] Top-Down方式,通过WSDL逆向生成服务端

    开始本篇之前, 先说说 Buttom-up(从下到上)和Top-down(从上到下)的概念 这是开发WebService的两种方式. bottom-up 方式: 先创建Java Bean或EJB, 然 ...

  8. html中引入css样式表的三种方式,css引用的几种方式是什么?

    HTML怎么引用CSS样式?css引用的几种方式是什么?下面本篇文章就来给大家介绍一下在HTML中引用CSS样式的几种方法,希望对大家有所帮助. 1.行内式 在HTML标签中,使用style属性设置C ...

  9. 反向代理方式实现IIS与Tomcat整合

    文章目录 前言 一.环境准备 (1)确保本机的tomcat服务器下的项目能正常访问,输入http://localhost:8080 , 能正常访问到项目(项目放在tomcat的webapps文件夹下) ...

  10. android 极光 环信,环信、容联云通讯、极光推送和网易云信IM即时通讯功能接入方式_部署方式_企业服务汇...

    编者按:企业在挑选IM即时通讯功能服务商时,对于企业应当如何接入其IM功能.接入方式和部署方式有哪些等问题不太清楚.今天企业服务汇通过评测环信.容联云通讯.极光推送和网易云信这四家服务商来为你详细说明 ...

最新文章

  1. 计算机软件基础操作,计算机软件基础 第九章 Excel基本操作(1页)-原创力文档...
  2. 网络安全比赛理论答题(四)
  3. vs2012编译使用lua 5.2静态库
  4. Angular 不同种类 Module 的介绍
  5. java+jsp+网页制作,java+jsp+mysql网页制作总结(2)
  6. python3调用java_Python3-JPype调用Java代码
  7. JDK1.8源码下载及获取、导入IDEA阅读、配置JDK源码
  8. netcat使用方法_记一次NC(NETCAT)传输文件实战
  9. CF GYM 100703G Game of numbers
  10. ubuntu用户管理与权限操作实例
  11. HDU 4389——X mod f(x)(数位DP)
  12. 阿里云盘tv版 v1.0.6电视版
  13. 嵌入式软件工程师对linux要求,嵌入式软件工程师的必备知识
  14. mysql5.7 离线安装_Linux离线安装MySQL5.7
  15. c语言转职,救世之树R和C的意义新手详解 职业和技能的转职
  16. YP.2.7 Other Representations(双语)
  17. 如何变更Win10系统电脑的锁屏壁纸?分享经验!怎样选择Win10电脑的锁屏壁纸?
  18. 铁甲雄心——机器人商用的求生之路
  19. sql server 日期转字符串 格式为yyyyMMddHHmmss
  20. 腾讯,百度,字节跳动,搜狗,追一,哔哩哔哩,小米,华为,华为云,360企业安全,鲸航科技,平安科技,依图-------跪经

热门文章

  1. linux 进程间通信 --- 消息队列 消息队列标识符 --- 同一类型 --- 消息头 --- 消息体
  2. linux Operation not permitted
  3. 法学类计算机专业,就业蓝皮书:计算机类专业领跑薪酬榜 法学专业被亮“红牌”...
  4. exists sql用法_《SQL进阶教程》笔记(3)
  5. 并发情况下使用List,多线程操作List,CopyOnWriteArrayList的使用
  6. springBoot过滤器去除请求参数前后空格
  7. linux系统redis单机版安装及设置解决DENIED Redis is running in protected mode because protected mode is enabled问题
  8. 用计算机弹奇迹再现谱子,《原神》奇迹再现乐谱分享 风物之诗琴乐谱分享
  9. 宝塔apache mysql_宝塔Linux面板命令大全,安装宝塔,Nginx,Apache,MySQL等 - SEO中文网...
  10. 网站安全之密码明文传输漏洞