小编hg *_*lim的帖子

什么是WCF调度管道消息流

我正在努力更好地了解WCF的调度过程,特别是对各种可扩展性点的影响和影响.从底部列出的网页看,一旦消息通过通道堆栈传递给调度程序,WCF将按照所述顺序执行以下操作.

  1. 消息检查器
  2. 操作选择器
  3. 邮件格式
  4. 参数检查器
  5. 操作祈求者.

我试图找到一些选项来解决我遇到的问题,我想到的一种方法是使用Message Inspector,Operation Selector,Message Formatting和Operation Invoker的组合.不幸的是,我的观察似乎表明执行的顺序如下:

  1. 操作选择器
  2. 消息检查器
  3. Operation Invoker(AllocateInputs())
  4. 邮件格式
  5. 参数检查器
  6. Operation Invoker(Invoke())

我可以理解在格式化消息之前调用自定义调用者AllocateInputs()方法的细微差别,因为消息格式化部分基本上将给定消息反序列化为一组方法参数,以传递给适当的操作和调用者的AllocateInputs( )方法指定预期的参数数量.

抛出我的部分是Message Inspector和Operation Selector之间的序列反转.对于我来说,消息检查器首先运行,因为它们对消息起作用,而操作选择器确定消息所针对的服务操作,这听起来合乎逻辑.

问题:

  • 这是由于WCF的不同版本或版本?
  • 这是因为WCF实际上没有指定可扩展点执行顺序吗?

参考页:
扩展WCF以支持自定义数据格式 - Zulfiqar的博客
使用自定义行为扩展WCF - MSDN服务站2007年12月
消息流拦截点 - Nicholas Allen的Indigo博客

注意:对于不提供链接,我道歉,因为我还是菜鸟,所以不能有多个链接.=)

wcf wcf-extensions

15
推荐指数
1
解决办法
4009
查看次数

标签 统计

wcf ×1

wcf-extensions ×1