senline

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

coding们肯定有这种需求,在程序中,方法一级级调下去,比如A->b->C->D.... ->Z。在调用过程中,希望在调用函数之间传递一些数据,常见的是将特定的数据从高往低处传递。首先想都的是通过一个参数传递,这样每个函数都要声明一个参数,就像事件的调用一样,都有一个eventArg结构一样。这不是个好方法,尤其是需要调用一些以前的程序方法时,以前的方法可能没有这个参数。再一个办法是使用全局变量,这个在dos时代比较常用,那时候多线程还不多见,全局变量比较有效。但这种方法只适合单线程程序。提到多线程,写过asp.net程序的码农可能会想到另外的一种解决方法,session!session确实能部分实现这个问题,但是也存在多线程的问题。在.net框架中,有个callContext(LogicCallContext),顾名思义,就是调用上下文,大家可以查一下这个东西,这个东西可以在调用过程中,共享一些数据,并能在盗用边界进行传递,且支持多线程。我们在EAFC客户端在调用过程中,就使用了callContext保存当前的功能号,但是使用的比较简单,其实callcontext的功能要强大的多。更多支持可以看msdn中的解释。

 

posted on 2013-10-14 22:06  森蓝2010  阅读(537)  评论(0编辑  收藏  举报