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寄宿的更多相关文章

  1. WCF :IIS寄宿方式的Web地址、BaseAddress和EndPoint Address的关系

    对于在IIS中通过W3SVC或WAS寄宿的WCF Service,其在浏览器中显示的地址(Web地址),与其配置文件中的BaseAddress和EndPoint Address有什么关系呢?让我们来分 ...

  2. 重温WCF之构建一个简单的WCF(一)(1)通过控制台和IIS寄宿服务

    一.理解什么是WCFWCF就是.NET平台下各种分布式技术的集成,并提供了一套统一的编程接口 二.WCF的定义WCF(Windows Communication Foundation)是微软为构建面向 ...

  3. 通过IIS寄宿WCF服务

    WCF全面解析一书中的例子S104,直接将Service目录部署到iis是无法得到服务相应的,需要在项目中新建一个web项目,删除掉自动生成的所有文件之后,把Service目录下的Calculator ...

  4. WCF绑定netTcpBinding寄宿到IIS

    继续沿用上一篇随笔中WCF服务类库 Wettery.WcfContract.Services WCF绑定netTcpBinding寄宿到控制台应用程序 服务端 添加WCF服务应用程序 Wettery. ...

  5. WCF服务自我寄宿 Windows服务

    WCF寄宿有自我寄宿跟IIS寄宿 服务代码: [ServiceContract] ---服务契约 public interface ICustomerService { [OperationContr ...

  6. 创建WCF服务自我寄宿

    WCF服务的寄宿方式 WCF寄宿方式是一种非常灵活的操作,可以寄宿在各种进程之中,常见的寄宿有: IIS服务.Windows服务.Winform程序.控制台程序中进行寄宿,从而实现WCF服务的运行,为 ...

  7. WCF服务自我寄宿

    WCF服务的寄宿方式 WCF寄宿方式是一种非常灵活的操作,可以寄宿在各种进程之中,常见的寄宿有: IIS服务.Windows服务.Winform程序.控制台程序中进行寄宿,从而实现WCF服务的运行,为 ...

  8. Open Interface Service WCF三种通信模式

    WCF三种通信模式 一.请求响应模式: 概念:客户端发送请求,一直等待服务端响应,在此期间处于等待(假死)状态:直到服务器响应,才能继续执行其他的操作: 即使返回值是void 也属于请求与答复模式. ...

  9. WCF 非http寄宿IIS

    摘要 从IIS 7 开始, IIS增加了对非HTTP协议的支持. 因此, 自IIS 7之后, 可以将NetTcpBinding等非HTTP协议的Bindings直接寄宿在IIS上面. 本文将介绍如何在 ...

随机推荐

  1. 易观OLAP算法大赛结果揭晓,开源组黑马放大招!

    100+天激烈赛程,40+国内顶级技术豪门对决,历经研发内部测试.正式环境测试和易观数据正式环境跑benchmark三大阶段.10月28日,易观OLAP算法大赛优胜名单出炉! 40+技术门派比武 易观 ...

  2. 深入理解 Swift 派发机制

    原文: Method Dispatch in Swift作者: Brain King译者: kemchenj 译者注: 之前看了很多关于 Swift 派发机制的内容, 但感觉没有一篇能够彻底讲清楚这件 ...

  3. CSV文件模块的使用

    ---恢复内容开始--- 1.CSV模块使用流程 1.导入模块 impport CSV 2.打开文件(xxx.csv) with open('xxx.csv','a',encoding='utf-8' ...

  4. sass揭秘之@mixin,%,@function(转载)

    因为文章内含有很多sass代码,如需自己动手查看编译结果,推荐使用sassmeister这款在线编译工具,方便你阅读学习. 在阅读本文章之前,请先确认你已经阅读了上篇文章sass揭秘之变量,不然会给你 ...

  5. 如何在CentOS 7中禁止IPv6(转载)

    最近,我的一位朋友问我该如何禁止IPv6.在搜索了一番之后,我找到了下面的方案.下面就是在我的CentOS 7 迷你服务器禁止IPv6的方法. 你可以用两个方法做到这个. 方法 1 编辑文件/etc/ ...

  6. JS 20180416考试

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...

  7. Connection refused (SQL: select * from information_s chema.tables where table_schema = apidemo and table_name = migrations)

    LARAVEL 执行: $ php artisan migrate 报错 ,把 .env文件里的 DB_CONNECTION=mysqlDB_HOST=127.0.0.1DB_PORT=3306 换成 ...

  8. alsa-lib 交叉编译以及声卡驱动测试 (转)

    l  下载alsa-utils, alsa-lib, 版本要一致 http://www.alsa-project.org/main/index.php/Download l  编译alsa-lib . ...

  9. Java基础学习总结(37)——Java23中设计模式(Design Patterns)详解

    设计模式(Design Patterns) --可复用面向对象软件的基础 设计模式(Design pattern)是一套被反复使用.多数人知晓的.经过分类编目的.代码设计经验的总结.使用设计模式是为了 ...

  10. 【转】sql 基本语法

    简单语法:http://www.cnblogs.com/lyhabc/p/3691555.html 数据类型宽度:http://www.cnblogs.com/lyhabc/p/3696629.htm ...