我的编程空间,编程开发者的网络收藏夹
学习永远不晚

WCF Dispatcher是什么

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

WCF Dispatcher是什么

这篇文章主要介绍“WCF Dispatcher是什么”,在日常操作中,相信很多人在WCF Dispatcher是什么问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”WCF Dispatcher是什么”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

由于应用WCF的是一个分布式环境,按照所处的环境的不同,可以将ServiceMode分成client端的ServiceMode和service端的 ServiceMode。就其实现的复杂度而言,service端的ServiceMode要比client端的复杂很多。对于Service端来讲,WCF的ServiceMode需要解决的是:
◆如何根据不同的listening URI创建ChannelListener并进行监听;
◆当request抵达,如何创建适合的Channel接收request message;
◆如何将Message分发到对应的Endpoint进行处理;
◆如何进一步将Message分发到对应的service instance;
◆以及如何进一步地分发的具体的service instance的匹配的method call。

由于“分发(Dispatch)”是其根本的功能和任务,所以Dispatcher是整个Service端ServiceMode的核心。正如标题所述,WCF Dispatcher是整个WCF service mode layer的中枢,本篇文章讲着重围绕着WCF Dispatcher来展开介绍。

WCF Dispatcher并不是指的某一个对象,而是指完成整个dispatch功能的一组相关对象的总称。这包括3个核心的对象:ChannelListener、ChannelDispatcher和EndpointDispatcher,和一些辅助的对象。

ChannelListener 在本系列的前面两个部分已经进行了详细的介绍,我们知道其主要功能在于:绑定到一个固定的Listening URI,监听来自外界的请求。一旦请求抵达,创建对应的Channel接收Request message。但是我们的业务逻辑定义在一个个的service类中,所以WCF必须提供一种机制通过我们接收到的message去激活对应service instance并调用对应的方法。

对于的激活(Activation)包含两种:创建一个新的service instance(PerCall instancing mode)和复用一个已经存在的service Instance(PerSession 和Singleton instancing mode)。ChannelDispatcher的核心功能就是提供了这样一种功能(尽管它还提供了其他的有用的功能,为了是内容不至于太散,在这里就不再作相关的介绍)。

ChannelDispatcher通常和一个ChannelListener关联,而ChannelListener又对应着一个固定的listening URI。对于一个被host的service来讲,可能定义了不同的listening address,所以一个service一般对应着一到多个ChannelDispatcher。更进一步说,当我们host一个service的时候,WCF会为之创建一个ServiceHostBase对象(ServiceHost或者是你自定义的继承自ServiceHostBase的对象),所以一个ServiceHostBase对象对应一到多个ChannelDispatcher对象。

对于接收到的request message,ChannelDispatcher不会自己对其进行处理,而是将其分发到与之相匹配为的EndpointDispatcher上,所以处理message的的绝大部分功能实际上是由EndpointDispatcher来实现的。对于同一个listening address,我们一般会不止一个endpoint,所以一个ChannelDispatcher拥有不止一个EndpointDispatcher。对于EndpointDispatcher来讲,有一个绝对绝对值得特别介绍的是DispatchRumtime。

DispatchRumtime和一个特定的EndpointDispatcher匹配,通过定制DispatchRumtime,你可以很容易地按照你具体的需要改变整个service或者某个具体的Operation相关的运行时行为。对于WCF一门重要的课题, WCF extensions来讲,你的绝大部分BehaviorExtesionElment,都是通过具体的Behavior对DispatchRumtime进行定制而实现的。

到此,关于“WCF Dispatcher是什么”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注编程网网站,小编会继续努力为大家带来更多实用的文章!

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

WCF Dispatcher是什么

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

WCF Dispatcher是什么

这篇文章主要介绍“WCF Dispatcher是什么”,在日常操作中,相信很多人在WCF Dispatcher是什么问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”WCF Dispatcher是什么”的疑惑有所
2023-06-17

WCF是什么

本篇内容主要讲解“WCF是什么”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“WCF是什么”吧!WCF是什么?从 WCF所处的位置来看,它是包含在.NET 3.0(也包括.NET 3.5)之中的。
2023-06-17

Silverlight WCF是什么

本篇内容介绍了“Silverlight WCF是什么”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!Silverlight WCF 是什么?怎
2023-06-17

WCF KnownType是什么

本篇内容主要讲解“WCF KnownType是什么”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“WCF KnownType是什么”吧!请注意ClassWillProcessl类型,我们需要增加哪
2023-06-17

WCF通道是什么

本篇内容主要讲解“WCF通道是什么”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“WCF通道是什么”吧!首先,我们将研究一下通道的内部机理,然后再看一下如何使用WCF类来实现一个通道。什么是WCF
2023-06-17

WCF事务是什么

这篇文章主要讲解了“WCF事务是什么”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“WCF事务是什么”吧!两个应用程序之间的通信有很多种方式,比如,我们可以使用XML与Webservice通信
2023-06-17

WCF REST服务是什么

这篇文章主要讲解了“WCF REST服务是什么”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“WCF REST服务是什么”吧!.NET Framework 3.5引入了REST风格的Windo
2023-06-17

WCF Stream对象是什么

本篇内容介绍了“WCF Stream对象是什么”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!由于Stream操作受到绑定的限制,只能使用Ba
2023-06-17

WCF序列化是什么

本篇内容介绍了“WCF序列化是什么”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!近期看了大量关于WCF的资料,深入的了解了关于WCF的原理机
2023-06-17

WCF元数据是什么

这篇文章主要讲解了“WCF元数据是什么”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“WCF元数据是什么”吧!WCF经过长时间的发展,使用它的人越来越多,它的功能也随之的强大,就我的经验来处理
2023-06-17

WCF数据契约是什么

本篇内容主要讲解“WCF数据契约是什么”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“WCF数据契约是什么”吧!WCF数据契约(Data Contract)是用来标识用户自定义类型和序列化。Dat
2023-06-17

WCF绑定原理是什么

这篇文章主要介绍“WCF绑定原理是什么”,在日常操作中,相信很多人在WCF绑定原理是什么问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”WCF绑定原理是什么”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!WC
2023-06-17

WCF应用原理是什么

本篇内容主要讲解“WCF应用原理是什么”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“WCF应用原理是什么”吧!WCF设计出来完全是为了与其他系统的交互。这包括可以运行在其他操作系统和平台上的应用
2023-06-17

WCF单调服务是什么

这篇文章主要介绍“WCF单调服务是什么”,在日常操作中,相信很多人在WCF单调服务是什么问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”WCF单调服务是什么”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!WC
2023-06-17

WCF协定概念是什么

本篇内容主要讲解“WCF协定概念是什么”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“WCF协定概念是什么”吧!服务操作是在服务的代码中定义的过程,用于实现某种操作的功能。 此操作作为一个 WCF
2023-06-17

WCF的异常处理是什么

本篇内容主要讲解“WCF的异常处理是什么”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“WCF的异常处理是什么”吧!介绍WCF(Windows Communication Foundation)
2023-06-30

WCF服务元数据是什么

这篇文章主要讲解了“WCF服务元数据是什么”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“WCF服务元数据是什么”吧!WCF服务元数据的基本概念WCF服务元数据究竟是什么?它的作用是什么?为什
2023-06-17

WCF元数据交换是什么

这篇文章主要介绍“WCF元数据交换是什么”,在日常操作中,相信很多人在WCF元数据交换是什么问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”WCF元数据交换是什么”的疑惑有所帮助!接下来,请跟着小编一起来学习吧
2023-06-17

WCF自托管宿主是什么

这篇文章主要讲解了“WCF自托管宿主是什么”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“WCF自托管宿主是什么”吧!利用WCF提供的ServiceHost提供的Open()和Close
2023-06-17

WCF和Web Service异同点是什么

本篇内容主要讲解“WCF和Web Service异同点是什么”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“WCF和Web Service异同点是什么”吧!我们大家都知道WCF服务,有些人说会了W
2023-06-17

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录