作者:jiankunking 出处:http://blog.csdn.net/jiankunking

1、WCF能够方便的通过IIS承载,此承载模型与ASP.NET和ASP.NET Web Service使用的模型相似。

2、WCF能够在以下操作系统上的IIS版本号上承载

  • Windows XP SP2上的IIS 5.1
  • Windows Server 2003上的IIS 6.0
  • Windows Server 2008或者Windows Vista或者Windows 7上的IIS 7.0
  • 以及IIS兴许版本号
小注:
3、在IIS 7.0中提供了一种新的承载服务方式即WAS(Windows Process Activation Service。Windows进程激活服务),使用WAS来承载WCF同意HTTP之外的协议进行激活和网络通信。此环境适合开发可通过WCF支持的不论什么网络协议(包括HTTP、net.tcp、net、.pipe和net.msmq)进行通信的WCF服务。

在WAS宿主中,能够使用WAS工作进程中的功能,如自己主动激活服务、健康监控和进程。

要使用WAS宿主,仅仅需创建一个Web网站和工个.svc文件,当中的ServiceHost声明包括服务类的语言和名称。

以下的代码使用 Service1类。另外,还必须指定包括服务类的文件。这个类的实现方式与定义WCF服务库的方式同样。 
<%@ ServiceHost Language="C#" Debug="true" Service="Service1" CodeBehind="Service1.svc.cs" %>   

这不就是平时部署的.svc文件嘛

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="" />

比如:

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="" />

4、使用IIS承载的优点:
  • 能够向处理其它不论什么类型的IIS应用程序一样。部署和管理IIS中承载的WCF服务。

  • IIS提供进程激活、执行状态管理和回收功能以提高承载的应用程序的可靠性。
  • 像ASP.NET一样。ASP.NET中承载的WCF服务能够利用ASP.NET共享宿主模型,在此模型中,多个应用程序驻留在一个公共辅助进程中以提高server密度和可伸缩性。
  • IIS中承载的WCF服务与ASP.NET2.0使用同样的动态编译模型,该模型简化了承载服务的开发和部署。

  • IIS承载WCF服务时,IIS5.1和IIS6.0仅限于HTTP通信。
5、WCF详细写法及部署与IIS在此就不反复演示,详细案例能够參考:
小注:
1、个人感觉有了锤子就不是必需用手敲钉子了,所以搞WCF的时候,使用Visual Studio吧,不是必需用文本文件去创建svc等等的文件。

比方说client应用程序须要 一 个代理来訪问服务。给client创建代理就有3种方式 :
● Visual Studio加入服务引用 —— 这个有用程序会从服务的元数据中创建代理类。

● ServiceModel元数据有用工具svcutil.exe —— 使用svcutil有用程序能够创建代理类。

该有用程序从服务中读取元数据 ,以创建代理类。
● ChanneldFactory类 —— 这个类由svcutil有用程序生成的代理使用 ,然而,它也能够用于以编程方式创建代理。

        个人还是感觉 Visual Studio比較自己主动化一些
2、据说部署WCF,须要激活WCF HTTP激活组件。详细激活方式例如以下:
安装完毕后。能够在:IIS管理器----处理程序映射中看到:svc-Integrated 项,说明成功安装了
可是有个问题就是。我部署WCF时候,么有激活这个服务。为啥WCF也能执行呢?希望有知道的朋友帮忙解答一下。谢谢。

使用IIS承载WCF服务的更多相关文章

  1. WCF学习笔记(2)——使用IIS承载WCF服务

    通过前面的笔记我们知道WCF服务是不能独立存在,必须“寄宿”于其他的应用程序中,承载WCF服务的应用程序我们称之为“宿主”.WCF的多种可选宿主,其中比较常见的就是承载于IIS服务中,在这里我们来学习 ...

  2. Wcf for wp8 使用iis Express 承载Wcf服务部署发布网站(三)

    我们接下来要做的是 本地电脑当作服务器(模拟外网服务器)来承载Wcf服务程序,通过引用本地电脑ip地址访问wcf服务程序接口 http://192.168.1.123/Service1.svc 一.先 ...

  3. 在 IIS 中承载 WCF 服务

    本主题概述了创建 Internet 信息服务 (IIS) 中承载的 Windows Communication Foundation (WCF) 服务所需的基本步骤. 本主题假设您熟悉 IIS 且了解 ...

  4. WCF中常见的几种Host,承载WCF服务的方法

    1:写在前面 我们都知道WCF在运行的时候必须自己提供宿主来承载服务.WCF 本身没有附带宿主,而是提供了一个 ServiceHost 的类,该类允许您在自己的应用程序中host WCF 服务.然后调 ...

  5. IIS发布WCF服务项目之本地

    最近由于项目需求,要做一个上传文件附件的功能,由于是多用户访问,所以这就用到了WCF服务,程序编写完成就需要发布了, 下面记录下发布到IIS的过程: 1,安装IIS 第一步:检查Windows7中II ...

  6. WCF技术剖析之四:基于IIS的WCF服务寄宿(Hosting)实现揭秘

    原文:WCF技术剖析之四:基于IIS的WCF服务寄宿(Hosting)实现揭秘 通过<再谈IIS与ASP.NET管道>的介绍,相信读者已经对IIS和ASP.NET的请求处理管道有了一个大致 ...

  7. IIS 部署WCF服务注意事项

    IIS部署WCF服务的时候经常会出现如下错误: System.ServiceModel.EndpointNotFoundException”类型的未经处理的异常在 WinformWcfHost.exe ...

  8. WCF开发实战系列二:使用IIS发布WCF服务

    WCF开发实战系列二:使用IIS发布WCF服务 (原创:灰灰虫的家http://hi.baidu.com/grayworm) 上一篇中,我们创建了一个简单的WCF服务,在测试的时候,我们使用VS200 ...

  9. 通过IIS寄宿WCF服务

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

随机推荐

  1. MyBatis初始化

    1. 准备工作 为了看清楚MyBatis的整个初始化过程,先创建一个简单的Java项目,目录结构如下图所示: 1.1 Product 产品实体类 public class Product { priv ...

  2. 一个HTTP连接是包含两部分的,请求报文和响应报文这俩组合起来才是一次完整的HTTP请求,并不会单独显示请求报文或者响应报文

    一个HTTP连接是包含两部分的,请求报文和响应报文这俩组合起来才是一次完整的HTTP请求,并不会单独显示请求报文或者响应报文. 2.注意看,一次HTTP请求,是包括这两部分的

  3. android学习笔记(5)Activity生命周期学习

    每一个activity都有它的生命周期,开启它,关闭它,跳转到其他activity等等,都会自己主动调用下面某种方法.对这些个方法覆写后观察学习. protected void onCreate(Bu ...

  4. IOS版本号被拒的经历

    IOS版本号被拒的经历: 1,登陆方式依赖外部平台 由于我们的APP是仅仅用微博登陆.想做成类似meerkat类型的.也能各种消息都同步微博. 结果当然行不通,这个确实是不听好人言.网上多个人都说过这 ...

  5. Android基础新手教程——1.5.2 Git之使用GitHub搭建远程仓库

    Android基础新手教程--1.5.2 Git之使用GitHub搭建远程仓库 标签(空格分隔): Android基础新手教程 本节引言: 在上一节中.我们学习了怎样使用Git.构建我们的本地仓库.轻 ...

  6. [Android] Android开发优化之——对界面UI的优化(2)

    在Android应用开发过程中,屏幕上控件的布局代码和程序的逻辑代码通常是分开的.界面的布局代码是放在一个独立的xml文件中的,这个文件里面是树型组织的,控制着页面的布局.通常,在这个页面中会用到很多 ...

  7. js小知识colspan和rowspan

    colspan和rowspan这两个属性用于合并表格的列或者行. colspan是"column  span"(跨列)的缩写,所以colspan属性用在td标签中,用来跨列合并单元 ...

  8. accept-language

    Chrome: [zh-TW,zh;q=0.8,en-US;q=0.6,en;q=0.4]Safari: [zh-tw]FF: [zh-TW,zh;q=0.8,en-US;q=0.5,en;q=0.3 ...

  9. Android开发中,9-patch (九宫格)图片作为背景带来的问题

    9-patch 为了解决不同分屏下的图片适应性,对图片做了padding,而在android中,要给一个控件设置背景图,最终是要调用 setBackgroundDrawable  方法来设置图片资源, ...

  10. C++12.1.4 类的前向声明、不完全类型类

    只声明却没有定义的类称为—————–不完全类型,不完全类型不能定义该类型的对象,只能用于定义指向该类型的指针及引用,或者用于声明(不是定义)使用该类型作为形参类型或返回类型的函数. 在创建类的对象之前 ...