02 2012 档案
为wcf写个CircularStream
摘要:wcf提供了streaming方式后,一直有个小问题,找不到合适的stream载体,如果能用上文件流什么的做返回值那是最好不过了,但是更多的情况下,需要返回一个流,但是这个流并没有类似文件之类的真实载体,而且有时候这个流还比较大(如果很小的话,也不需要用到streaming方式了),这时候似乎就有那么点麻烦了。 首先,我不喜欢用MemoryStream,因为它真实的占用了这么多内存,遇到大数据量的情况下,wcf的streaming方式的威力将大大降低。当然,也可以借助文件,返回文件流来绕开这个问题,或者使用其他的什么现成的流。 然而,我更倾向于使用类似Circular Buffer的逻辑来处.
阅读全文
对帐脚本语言的修改
摘要:今天修改了对帐脚本语言的定义,简化了只有一个参数的lambda表达式原lambda表达式为:无参数:()->1单参数:(x)->$x+1多参数:(x,y)0>$x+$y新的lambda表达式支持原先形式的基础上增加了:单参数:x->$x+1
阅读全文
对帐引擎2个月后的监控数据
摘要:对帐引擎已经跑了近2个月,虽然期间瞎改定义跑出了几个out of memory和其他几个违反语法的异常,也abort掉了几个对帐任务,但各项指标看起来还行,总体维持在这个水平,基本没怎么上升,除了定义的缓存和定义解析结果的缓存有点太占内存了以外,基本没啥大问题 分类 计数名 值 .NET CLR Exceptions # of Exceps Thrown / sec 0 .NET CLR Jit # of IL Bytes Jitted 38565044 # of Methods Jitted 38...
阅读全文
wcf rest服务启用gzip压缩
摘要:在IIS上添加gzip压缩已经不是什么新鲜事情了,但是如何在自host的wcf上对rest响应支持gzip压缩哪? 乍一看这个命题还真的有点难,但是wcf框架本身相当强大,拥有众多的介入点,只要正确的介入binding和behavior就可以很简单的达到目的准备Binding 首先,因为需要修改输出结果的编码,那么不可避免的需要修改Binding,如果熟悉WCF的Binding模型的话,可以很容易的将传统的wsHttpBinding,webHttpBinding,netTcpBinding等分解,由于目标是rest服务,因此传输层使用http方式,即:HttpTransportBindin..
阅读全文