引言: 原文:http://www.blogcn.com/User8/flier_lu/index.html?id=3024651
我们知道CLR中Assembly是在名为AppDomain的逻辑空间中被载入运行的,而AppDomain是介于操作系统层面进程和线程概念之间,同时具有线程的轻便和进程的封...
摘要:原文:http://www.blogcn.com/user8/flier_lu/index.html?id=3213970
状态管理本来是一件很美好的事情,嘿嘿,只可惜总是有些厂商在实现的时候考虑得不那么周全。例如 ms 在 asp 中的状态管理实现就比较烂,因为只实现了一个进程内的基于内存的状态管理,故而存在很多问题: 1.所有的 session 数据都保存在 web 服务的进程中,会造成服......
摘要:原文:http://www.blogcn.com/user8/flier_lu/index.html?id=3270482
在使用 reflector.net 或者 rotor 源码查看 bcl 库的实现时,经常会碰到一些被标记为 internalcall 的方法。如 system.string 中用于获取字符串长度的 length 属性,实现上就是调用被标记为 internalcall 的 ......
用WinDbg探索CLR世界 [6] AppDomain 的创建过程原文:http://www.blogcn.com/user8/flier_lu/index.html?id=3024651
我们可以使用 windbg + sos 的 eeheap 命令,通过列出 clr 执行引擎的堆信息,获取当前运行的 appdomain 情况.我们以下面这段代码为例 【程序编程相关:
几个比较好用的asp检查函数】
我们知道 clr 中 assembly 是在名为 appdomain 的逻辑空间中被载入运行的,而 appdomain 是介于操作系统层面进程与线程概念之间,同时具有线程的轻便与进程的封闭性,使用者可以通过 appdomain.createdomain 创建新的 appdomain.这样一来就出现了一个鸡生单还是蛋生鸡的问题,这个 appdomain.createdomain 方法肯定是要在一个载入了 appdomain 类型的 appdomain 里面被调用的,但这个 appdomain 又是谁调用 appdomain.createdomain 方法创建的呢?呵呵 【推荐阅读:ZPS 4.0.1 is Availab】
// 【扩展信息:
走进C#(我的C#学习之旅)序】
以下内容为程序代码:// appdomain.cs//using system;public class entrypoint{ public static void main(string[] args) { console.out.writeline("hello appdomain!"[img]/images/wink.gif[/img]; console.in.readline(); }} 这个典型的 clr 程序的输出如下:...
下一页 摘要:原文:http://www.blogcn.com/user8/flier_lu/index.html?id=3409568
几个月前我曾大致分析过 c# 2.0 中 iterator block 机制的实现原理,《c# 2.0 中iterators的改进与实现原理浅析》,文中简要介绍了 c# 2.0 是如何在不修改 clr 的前提下由编译器,通过有限状态机来实现 iterator block ......