博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
WCF学习笔记(二)WCF基础
阅读量:5940 次
发布时间:2019-06-19

本文共 913 字,大约阅读时间需要 3 分钟。

托管(Hosting)

WCF服务不能凭空存在。每个WFC服务都必须托管在Windows进程中,该进程称为宿主进程(host process)。

  • IIS5/6托管

在微软的IISweb服务中托管服务的主要优势是宿主进程可以在客户端第一次请求时自动启发,还可以借助IIS5/6管理宿主进程的生命周期。

缺点是:只能够使用http协议,如果是IIS 5 ,要求所有服务必须使用相同的端口号。

  • 自托管

自托管是由开发者提供和管理宿主进程的生命周期的一种方式。当客户端与服务之间的进程有明确边界时,使用自托管;

当服务与客户端处于相同的进程时,使用进程内托管。

使用自托管,服务进程必须在客户端调用服务之前启动。

与IIS5/6不同的是,自托管服务可以使用任意的传输协议,而且能够使用WCF的高级特性。

与IIS5/6相同的是,托管应用程序配置文件(app.config)通常会列出所有希望托管和公开的服务类型。

创建ServiceHost对象时,需要为ServiceHost的构造函数提供服务类型,可选默认的基地址。可以将基地址集合设置为空,如果提供了多个基地址,也可以将服务配置为使用不同的基地址。

每个ServiceHost实例都与特定的服务类型相关,如果宿主进程需要运行多个服务类型,则必须创建多个ServiceHost实例。

  • WAS托管

IIS5/6是个web服务器,而不是托管引擎。因此,它需要你将服务包装成一个网站。

微软推出了一个通用的托管引擎,Window 激活服务,简称WAS。WAS,可以托管网站,可以方便托管服务,允许使用任何传输协议,可以单独安装和配置WAS,不需要和IIS7一起使用。

从设计的角度考虑,WAS里托管WCF服务于IIS5/6中托管是一样的,需要提供.svc文件,或者在配置文件里提供等价的信息。因为WAS属于系统服务,所以不需要提前启动宿主进程。当第一个调用到达时,

WAS会拦截这个消息,启动一个工作进程来托管服务,然后把调用的消息转发过去。

 

转载于:https://www.cnblogs.com/HelloMyWorld/archive/2013/04/30/3049200.html

你可能感兴趣的文章
Android Display buffer_handle_t的定义
查看>>
SSH详解
查看>>
ASM概述
查看>>
【290】Python 函数
查看>>
godaddy域名转发(域名跳转)设置教程
查看>>
silverlight学习布局之:布局stackpanel
查看>>
理解并自定义HttpHandler
查看>>
小程序二次贝塞尔曲线,购物车商品曲线飞入效果
查看>>
微信小程序
查看>>
常用的正则表达式分享
查看>>
我的世界:一个村落(其一)
查看>>
SKChoosePopView 一个HUD风格的可定制化选项弹窗的快速解决方案
查看>>
(二十)java多线程之ScheduledThreadPoolExecutor
查看>>
【译】码农生涯十六条不要
查看>>
sublime快捷键
查看>>
认识jQuery及jQuery选择器
查看>>
动态密码算法介绍与实现
查看>>
从前后端分离到GraphQL,携程如何用Node实现?\n
查看>>
JavaScript标准库系列——RegExp对象(三)
查看>>
Linux Namespace系列(09):利用Namespace创建一个简单可用的容器
查看>>