Flier's Sky

天空,蓝色的天空,眼睛看不到的东西,眼睛看得到的东西

导航

10 2004 档案

摘要:原文:http://www.blogcn.com/User8/flier_lu/blog/4471578.html 作为使用最为广泛的源代码版本控制系统,CVS 有使用简单、操作方便以及第三方工具支持完善等等优点。但与 ClearCase 等商业级产品相比,CVS 的直观性非常差。特别是在应用 TDD 和重构思想后,代码更新更为频繁和琐碎,已经很难通过 CVS 内建功能,或者 WinCVS ... 阅读全文

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

摘要:原文:http://www.blogcn.com/User8/flier_lu/blog/4371854.html .NET Framework 提供了 System.DirectoryServices 名字空间用于操作 AD 等支持 LDAP 接口的服务器,通过这组类我们能够很容易实现通过 AD 验证用户帐号,以及向 AD 查询域用户及其所在组的信息,是在 Web 应用中集成 AD 以实现... 阅读全文

posted @ 2004-10-21 23:41 Flier Lu 阅读(11668) 评论(18) 推荐(2) 编辑

摘要:原文: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 阅读(2780) 评论(0) 推荐(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 阅读(4048) 评论(1) 推荐(1) 编辑

摘要:原文:http://www.blogcn.com/User8/flier_lu/index.html?id=4137331 在了解了 CLR 对类型的内存布局的访问方式后,回过头来看看 CLR 是如何在载入类型时,对其内存布局进行调整的。 与 Java 中的 ClassLoader 概念不同,CLR 中将类型的隔离和载入放到 Assembly 和 AppDomain 两个层面来维护。因... 阅读全文

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

摘要:原文:http://www.blogcn.com/User8/flier_lu/index.html?id=4091564 曾经几次有朋友问,如何使用托管代码简单地精确获取一个对象在堆或栈中所占内存的大小。我想说,这基本上很难,呵呵。想要做到通用又精确,则必然涉及到 CLR 对载入类型自动的内存布局 (Layout) 控制逻辑,而这部分的逻辑,又是 CLR 在设计时就刻意隐藏的... 阅读全文

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

摘要:原文:http://www.blogcn.com/User8/flier_lu/index.html?id=4046367 在传统的 Windows 环境中,造成 DLL Hell 灾难的因素,除了不同版本 DLL 可以在不同目录下共存且被载入的优先顺序不可知以外,还有一大问题就是在卸载程序时如何对待程序使用到的公共 DLL。如果卸载程序顺手删掉放在 Windows/System32 目录下... 阅读全文

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