WCF4.0新特性体验(7):IIS无SVC文件托管WCF服务(IIS hosting without an SVC file )

本文介绍了WCF4.0的一项新特性——无SVC文件托管WCF服务,详细阐述了服务实例化、通道分发器ChannelDispatcher和服务宿ServiceHost的工作机制,并解析了无svc文件服务激活的原理和配置激活映射。通过配置文件,开发者可以在不依赖.svc文件的情况下在IIS中托管WCF服务。
摘要由CSDN通过智能技术生成
Posted on 2010-03-22 23:40 Frank Xu Lei 阅读(29) 评论(2)   编辑 收藏 所属分类: SOA and EAI, WCF4.0新特性体验

  今天我来继续学习WCF4.0新特性体验(7):IIS无SVC文件托管WCF服务(IIS hosting without an SVC file )。这个是在WCF4.0中提供的一个新特性。在这一节里,我会介绍WCF服务实例化的机制,其中介绍两个主要的类型通道分发器和服务宿(ChannelDispatcher和ServiceHost)。它们与服务激活的关系。最后给出详细的开发过程。

【1】基本概念:

   Fileless Hosting也就是IIS hosting WCF Service without an SVC file ,中文意思,也就是无svc文件托管WCF服务。

【2】服务实例化:

  我们知道在4.0之前的版本,创建IIS托管的WCF服务程序,默认都会生成一个对应的svc文件。这个和Asp.net Web服务的ASMX文件作用类似,也就是设置一些重要的功能,比如code-behind.代码后置。在svc文件里,我们可以看到一些主要的信息:

< %@ ServiceHost  Language ="C#"  Debug ="true"  Service ="Service"  CodeBehind ="~/App_Code/Service.cs"  % >

   上面的声明通知 .svc 处理程序要在哪个类中查找 WebMethod,该处理程序就会神奇地处理其余所有事情。例如,假设虚拟目录的名称为 'service1',它包含'service1'.svc 以及一个包含该程序集的 bin 子目录。 

【3】通道分发器:

  这里一个重要的类型就是通道分发器ChannelDispatcher,它会负责把特定的消息与服务实例关联起来,并发特定的消息转发给服务实例。

  • 使用绑定创建通道侦听器
  • 管理通道侦听器上的通道
  • 管理侦听工作
  • 管理通道侦听器和通道堆栈
  • 控制从通道堆栈接收消息的节奏(也称作限流throttling
  • 管理服务实例的创建、生命周期和数量
  • 路由消息到特定的服务实例
  • 把接收的消息反序列化为特定的对象
  • 使用这个对象来调用服务实例上的方法
  • 序列化返回结果到应答消息里
  • 路由应答消息到特定的通道堆栈,然后通过通道堆栈发送给客户端
  • 处理以上
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值