实践重于理论

为了使读者对采用不同实例上下文对并发的影响有一个深刻的认识,会创建一个简单的WCF应用,并在此基础上添加监控功能,主要监控各种事件的执行时间,比如客户端服务调用的开始和结束时间,服务操作开始执行和结束执行的时间等等。读者可以根据实时输出的监控信息,对WCF的并发处理情况有一个很直观的认识。 [源代码从这里下载]

一、服务契约定义

本实例依然采用我们熟悉的四层结构,即契约、服务、寄宿和客户端。为了以可视化的形式实时输出监控信息,对于客户端和服务寄宿程序均采用Windows Form应用类型。我们依然以计算服务作为例子,下面是服务契约的定义。

1: using System.ServiceModel;
   2: namespace Artech.ConcurrentServiceInvocation.Service.Interface
   3: {
   4:   [ServiceContract(Namespace="http://www.artech.com/")]
   5:   public interface ICalculator
   6:   {
   7:     [OperationContract]
   8:     double Add(double x, double y);
   9:   }
  10: }

二、创建监控器:EventMonitor

由于我们需要监控各种事件的时间,所以我定义了一个名为EventType的枚举表示不同的事件类型。8个枚举值分别表示开始和结束服务调用(客户端)、开始和结束服务操作执行(服务端)、开始和结束回调(服务端)以及开始和结束回调操作的执行(客户端)。关于回调的事件枚举选项在本例中不会需要,主要是为了后续演示的需要。

1: using System;
   2: namespace Artech.ConcurrentServiceInvocation.Service.Interface
   3: {
   4:   public enum EventType
   5:   { 
   6:     StartCall,
   7:     EndCall,
   8:     StartExecute,
   9:     EndExecute,
  10:     StartCallback,
  11:     EndCallback,
  12:     StartExecuteCallback,
  13:     EndExecuteCallback
  14:   }
  15: }

时间: 2024-08-04 12:13:57

实践重于理论的相关文章

实践重于理论——创建一个监控程序探测WCF的并发处理机制

由于WCF的并发是针对某个封装了服务实例的InstanceContext而言的(参考<并发的本质><并发中的同步>),所以在不同的实例上下文模式下,会表现出不同的并发行为.接下来,我们从具体的实例上下文模式的角度来剖析WCF的并发处理机制,如果对WCF实例上下文模式和实例上下文提供机制不了解的话,请参阅<WCF技术剖析(卷1)>第9章. 为了使读者对采用不同实例上下文对并发的影响有一个深刻的认识,会创建一个简单的WCF应用,并在此基础上添加监控功能,主要监控各种事件的执

并发与实例上下文模式: WCF服务在不同实例上下文模式下的并发表现

由于WCF的并发是针对某个封装了服务实例的InstanceContext而言的,所以在不同的实例上下文模式下,会表现出不同的并发行为.接 下来,我们从具体的实例上下文模式的角度来剖析WCF的并发,如果对WCF实例上下文模式和实例上下文提供机制不了解的话,请参阅<WCF 技术剖析(卷1)>第9章. 在<实践重于理论>一文中,我写一个了简单的WCF应用,通过这个应用我们可以很清楚了监控客户端和服务操作的执行情况下.借此 ,我们可以和直观地看到服务端对于并发的服务调用请求,到底采用的是并

ConcurrencyMode.Multiple模式下的WCF服务就一定是并发执行的吗:探讨同步上下文对并发的影响[上篇]

在<并发与实例上下文模式>中,我们通过实例演示的方式讲述了基于不同实例上下文模式的并发行为.对于这个实例中的服务类型CalculatorService,读者应该还记得我们对它进行了特别的定义:通过ServiceBehaviorAttribute特性将属性将UseSynchronizationContext设置成False.至于为何要这么做,这就是本篇文章需要为你讲述的内容.为了让读者对本节介绍的内容有一个深刻的认识,我们不然去掉ServiceBehaviorAttribute特性的UseSyn

使命必达: 深入剖析WCF的可靠会话[实例篇](内含美女图片,定力差者慎入)

通过前面一系列的博文(<WCF 并发(Concurrency)的本质>.<并发中的同步>.<实践重于理论>.<并发与实例上下文模式>.<回调与并发>.<ConcurrencyMode.Multiple 模式下的WCF服务就一定是并发执行的吗[上篇]>.<ConcurrencyMode.Multiple 模式下的WCF服务就一定是并发执行的吗[下篇]>.<控制并发访问的三道屏障[上篇]>和<控制并发访问的三

WCF中并发(Concurrency)与限流(Throttling)体系深入解析系列[共7篇]

服务(Service)的本质就是提供服务消费者期望的某种功能,服务的价值体现在两个方面:服务本身的质量和寄宿服务的平台应付消费者的数量,并发(Concurrency)的关注的是第二个要素.WCF服务寄宿于资源有限的环境中,要实现服务效用的最大化,需要考虑如何利用现有的资源实现最大的吞吐量(Throughput).提高吞吐量就某个寄宿的服务实例(Service Instance)来说,一个重要的途径就是让它能够同时处理来自各个客户端(服务代理)的并发访问.WCF实现了一套完整的并发控制体系,为你提

网络营销整合推广之论坛营销详解

中介交易 http://www.aliyun.com/zixun/aggregation/6858.html">SEO诊断 淘宝客 云主机 技术大厅 结束了搜索引擎营销之搜索引擎优化(SEO)的课程,上周2开始由詹鹏讲的新课程网络营销整合推广,由于个人的某些原因,心态调整不佳,上周我一直意志消沉,情绪低迷,没能好好听讲,所以错过了詹鹏老师的精彩讲课,对网络营销整合推广-论坛营销很多概念性,技巧性,实用性的理论没有完全掌握和理解. <网络营销整合推广>这是网络营销学院的最后一本教

[干货]御数坊:数据治理的理论、实践与发展趋势

御数坊观点: 经过多年潜行,数据治理(DataGovernance)这一至关重要却似虚无缥缈的话题终于在DTCC2015这一国内数据领域顶级大会上赢得了自己的半席之地--能够与可视化共办专场,并完成了一次理论与实践的经典邂逅,点燃数据从业者数据治理热情.绽放数据治理之美. 曾经以及现在,有不少人说,国外理论不适应中国国情,不可用... 曾经以及现在,有不少人说,甲方不会去做的,都外包给乙方... 曾经以及现在,有不少人说,数据治理太虚,不能落地... 曾经以及现在,有不少人说,....... 然

谈理论与实践

  还记得我工作后接触的第一个理论就是长尾理论,后续在培训中又学习了蓝海战略.定位理论.权衡.免费等等.可以说我学到和了解了很多的理论.由于做游戏数据分析工作,因此像SPSS.SAS.Clementine.Excel都能熟练使用,包括很多的模型算法,比如RFM.C5.0.决策树等等很多的内容都有涉及,都有研究,我也相信,时下具备这些所谓"知识"的人不占少数,讲起来滔滔不绝,可是回头来问一句:你确定你懂吗? 理论 书你真的看透了吗? 一个理论的掌握不是你读完了这本理论的书籍,就敢说你掌握

“SEO大师” 只靠理论远远站不住脚

有这样一部分所谓的"SEO大师",天天跟学员讲SEO,天天宣称自己SEO有多高,没有什么SEO技术能难住他,但真要让他拿出几个靠真本事获得排名的网站却没有,这一部分大师可以说天天活在SEO的理论中,以至于教出来的学员依然重蹈覆辙走老路,只注重于SEO理论而忽视了SEO实践.SEO理论与SEO实践到底哪个最重要?相信大多数人都知道孰重孰轻,自然是实践第一! 实际,很多SEO高手却恰好相反,让他们讲SEO理论他们却不知如何说起,只是告诉你,SEO更多的是多去实践和总结,多拿几个站慢慢研究,