Flier's Sky

天空,蓝色的天空,眼睛看不到的东西,眼睛看得到的东西
posts - 115, comments - 322, trackbacks - 42, articles - 0

10 2004 档案

posted @ 2004-10-27 22:37 Flier Lu 阅读(8265) | 评论 (0) 编辑 |

posted @ 2004-10-21 23:41 Flier Lu 阅读(7093) | 评论 (18) 编辑 |

摘要: 原文:http://www.blogcn.com/User8/flier_lu/blog/4294250.html 在上一节中曾经提到 RealProxy 在构造函数中调用 RemotingServices.CreateTransparentProxy 方法同步构造 TP 实例,而 RemotingServices.CreateTransparentProxy 方法的实现 CRemotingServices::CreateTransparentProxy 函数 (vm/remoting.cpp:318) 则最终调用 CTPMethodTable::CreateTPOfClassForRP 函数 (vm/remoting.cpp:2780) 完成 TP 类型对象的 MT 创建工作。而正如上节中提到的,这个 MT 不同于普通的 MT,是专门为 TP 定制的 CTPMethodTable (TPMT) 类型,其表内 MD 虽然与 __TransparentProxy 类型中的 MD 相同,但并非从静态 Metadata 中加载,而是在运行时构造并复制生成的。 以下将通过阅读全文

posted @ 2004-10-17 00:57 Flier Lu 阅读(2096) | 评论 (0) 编辑 |

摘要: 在 CLR 世界中最神奇的一族类型应该就是 TransparentProxy/RealProxy (TP/RP) 这一对孪生兄弟,以及和他们相随左右的 MarshalByRefObject (MBRO) 和 ContextBoundObject (CBO) 等等。无论是本地跨 AppDomain 调用还是 Remoting,无论是基于 Context 的 AOP 实现还是企业级 COM+ 对象 (ServicedComponent),无不活跃着 TP/RP 的身影。而与尚有少许文档的 RP、MBRO、CBO 不同,TP 是完全基于 CLR 内部实现的全动态类型,在 BCL 耀眼光芒背后的影子中默默无闻的起着无法替代的重要作用。好在通过 cbrumme 的深入介绍文章 TransparentProxy,以及使用 WinDbg/Rotor 的探索,能让我们从不同侧面了解这个幕后英雄。阅读全文

posted @ 2004-10-16 22:11 Flier Lu 阅读(2876) | 评论 (0) 编辑 |

posted @ 2004-10-07 01:13 Flier Lu 阅读(1376) | 评论 (0) 编辑 |

posted @ 2004-10-04 02:01 Flier Lu 阅读(1757) | 评论 (0) 编辑 |

posted @ 2004-10-01 00:16 Flier Lu 阅读(1668) | 评论 (1) 编辑 |