WCF(三)IIS寄宿
WCF常用的一种使用方式是寄宿在IIS中。
IIS寄宿操作流程如下:
1、创建IIS物理路径对应的文件夹,文件夹名称是WCFIIS。
2、在WCFIIS文件夹中添加文本文件,在文本文件中写入<%@ ServiceHost Service="WCFService.Calculate" %>。Service名称是WCF契约服务的实现类,采用命名空间+类名的方式。
3、将文本文件的.txt后缀名称改为.svc,文件名可以随便起。
4、在WCFIIS文件夹中新建App_Code文件夹,将实现服务契约所需的类文件、接口文件、放入App_Code文件夹中。或者创建bin文件夹,将用到的.dll文件拷贝到bin文件夹中。
5、在WCFIIS文件夹中创建文本文件,将服务端App.config中<system.serviceModel></system.serviceModel>节点之间的内容拷贝到文本文件中
6、将新创建的文本文件名称和后缀名改为web.config,这个是固定的名称和后缀名,不能随便更改。
7、在IIS中选中创建的站点,在内容视图中,选中.svc文件,右键浏览,如果能出现对应的服务页面,表示创建成功。
截图:
IIS物理文件

App_Code文件

Service.svc文件:

web.config文件

IIS中WCF服务创建成功页面:

---------------------------
客户端开发(Web开发)
1、创建MVC站点。
2、打开“VS开发人员命令提示”窗口,定位到Web站点所在的文件夹,在窗口中打上svcutil http://localhost/WCFIIS/Service.svc?wsdl 这段话,就是创建成功后,页面提示的调用方式(也可以直接使用“引用服务”操作,由VS直接执行生成命名空间和修改web.config文件操作,这样可以省略第3步,直接进入代码编写环节)。
3、执行成功后,web站点会产生一个output.config和一个.cs做后缀的文件。把output.config文件中的信息,拷贝到站点的web.config中即可,产生的这两个文件需要进行“文件包含在项目”中操作。
4、在控制器里面写个方法,并创建对应的视图。
public ActionResult WCFView()
{
int a1 = 0;
int a2 = 0;
using (ChannelFactory<ICalculate> channelFactory = new ChannelFactory<ICalculate>("WSHttpBinding_ICalculate"))
{
ICalculate proxy = channelFactory.CreateChannel();
using (proxy as IDisposable)
{
a1 = proxy.Add(2, 4);
a2 = proxy.Subtract();
}
} return Content(a1.ToString() + ","+a2.ToString());
}
客户端配置信息(web.config)

客户端运行结果:

WCF(三)IIS寄宿的更多相关文章
- WCF :IIS寄宿方式的Web地址、BaseAddress和EndPoint Address的关系
对于在IIS中通过W3SVC或WAS寄宿的WCF Service,其在浏览器中显示的地址(Web地址),与其配置文件中的BaseAddress和EndPoint Address有什么关系呢?让我们来分 ...
- 重温WCF之构建一个简单的WCF(一)(1)通过控制台和IIS寄宿服务
一.理解什么是WCFWCF就是.NET平台下各种分布式技术的集成,并提供了一套统一的编程接口 二.WCF的定义WCF(Windows Communication Foundation)是微软为构建面向 ...
- 通过IIS寄宿WCF服务
WCF全面解析一书中的例子S104,直接将Service目录部署到iis是无法得到服务相应的,需要在项目中新建一个web项目,删除掉自动生成的所有文件之后,把Service目录下的Calculator ...
- WCF绑定netTcpBinding寄宿到IIS
继续沿用上一篇随笔中WCF服务类库 Wettery.WcfContract.Services WCF绑定netTcpBinding寄宿到控制台应用程序 服务端 添加WCF服务应用程序 Wettery. ...
- WCF服务自我寄宿 Windows服务
WCF寄宿有自我寄宿跟IIS寄宿 服务代码: [ServiceContract] ---服务契约 public interface ICustomerService { [OperationContr ...
- 创建WCF服务自我寄宿
WCF服务的寄宿方式 WCF寄宿方式是一种非常灵活的操作,可以寄宿在各种进程之中,常见的寄宿有: IIS服务.Windows服务.Winform程序.控制台程序中进行寄宿,从而实现WCF服务的运行,为 ...
- WCF服务自我寄宿
WCF服务的寄宿方式 WCF寄宿方式是一种非常灵活的操作,可以寄宿在各种进程之中,常见的寄宿有: IIS服务.Windows服务.Winform程序.控制台程序中进行寄宿,从而实现WCF服务的运行,为 ...
- Open Interface Service WCF三种通信模式
WCF三种通信模式 一.请求响应模式: 概念:客户端发送请求,一直等待服务端响应,在此期间处于等待(假死)状态:直到服务器响应,才能继续执行其他的操作: 即使返回值是void 也属于请求与答复模式. ...
- WCF 非http寄宿IIS
摘要 从IIS 7 开始, IIS增加了对非HTTP协议的支持. 因此, 自IIS 7之后, 可以将NetTcpBinding等非HTTP协议的Bindings直接寄宿在IIS上面. 本文将介绍如何在 ...
随机推荐
- ZBrush 2018软件安装激活教程一点通
Zbrush下载地址:https://pixologic.com/CD 安装教程:(此CD代码仅有效一次,一旦此代码被使用,您将收到一封包含你账户信息的电子邮件.请把那封电子邮件保存在你的记录里.) ...
- MySQL_pymysql模块
安装:pip install pymysql 基本操作 import pymysql conn=pymysql.connect(host=',database='lary',charset='utf8 ...
- 路飞学城Python-Day171
Evernote Export 线性结构: python的列表操作 列表是如何存储的:顺序存储的,是一块连续的内存,内存是一堆格子,列表是一串连续的编号 32位机器上一个整数占4个字节 数组和列表有2 ...
- SQL SEVER (ROLLUP与CUBE,ROW_NUMBER())使用方法
1.建立测试专用数据: if object_id('TESTDB') is not null drop table TESTDB ), B INT) insert into TESTDB union ...
- nginx强制使用https访问(多站点多域名配置)
很多配置过https模板的人都知道,配置https 时 ,站在用户的角度http 和https 的区别根本不清楚.有时候敲 http 时会出现 404 错误,而实际上我们是https. 有朋友找我配置 ...
- C语言提高 (7) 第七天 回调函数 预处理函数DEBUG 动态链接库
链表就是一个结构体 指针指向自身结构体类型 双向链表插入的时候 先改变自身 再改变两边 双向链表删除的时候 先改变两边 再改变自己 逆序一个单向链表 回调函数 指向函数的指针 4链表的遍历回调用法 / ...
- 把SQLAlchemy查询对象转换成字典/json使用(分开)
注:针对的是查询出来的是单条对象 多个对象的话可以使用for循环遍历查询出来的对象列表,也可以使用下面的方法 1.config.py文件 #!/usr/bin/env python #-*- codi ...
- 搞定PHP面试 - 变量知识点整理
一.变量的定义 1. 变量的命名规则 变量名可以包含字母.数字.下划线,不能以数字开头. $Var_1 = 'foo'; // 合法 $var1 = 'foo'; // 合法 $_var1 = 'fo ...
- 《你又怎么了我错了行了吧》【Alpha】Scrum meeting 5
第五天 日期:2019/6/18 前言: 第5次会议在女生宿舍召开 冲刺第5天,对所有工作做了总结.继续完善编码工作. 1.1 今日完成任务情况以及明天任务安排 姓名 当前阶段任务 下一阶段任务 刘 ...
- using_where, Using temporary ,using_filesort 分享
Using filsort文档中的解释: Mysql需要额外的一次传递,以找出如何按排序顺序检索行,通过根据联接类型浏览所有行并为所有匹配where子句的行保存排序关键字和行的指针来完成排序,然后关键 ...