上一页 1 ··· 13 14 15 16 17 18 19 20 21 ··· 60 下一页
这本书很复杂,其精华在于探讨.NET世界中的可执行文件,而这些文件可以由任意一种编译器产品所生成。本书的核心语言是C#。因此,读者应该非常熟悉这门语言。 在探究元数据这一重要概念之前,我们需要理解PE(Portable Executable)文件格式。元数据是PE文件中必不可少的一部分。PE文件是和.NET底层架构打交道的。 我们不会马上讨论元数据,因为本章主要关注于PE文件格式的“内幕”。 ... Read More
posted @ 2009-11-08 20:54 包建强 Views(1217) Comments(0) Diggs(1)
每个表都会被分配一个唯一的值,或者更精确的说,valid字段中的一个位。从而,由于valid字段被声明为一个长整数(long),所以最多只能有64个不同的表类型。 在上一章的结尾,我们顺便提及了存在于文件中的表的名称。在本章,我们将详细研究在最小的exe文件中这些表的内容。 Module表 第一个表,由位0所标识,是Module表。由于IL中的.module指令的存在,这一行被作为IL中的.... Read More
posted @ 2009-11-08 20:52 包建强 Views(1782) Comments(0) Diggs(0)
本章继续描述剩下的没有涉及过的表。为此,创建单独的程序来说明每个不同的表。最后,在本书的最后一章,把它们放入一个单独的程序中,其中每一个表都是交叉引用的。 表4-1 本章的第一个程序使用了Fields表。在b.cs文件中输入下面的代码并编译该文件。 Fields表 b.cs a.cs Output 实例变量又被称为字段。Field表保存了在valid表中的索引4。由于文件跨越了2个名为z... Read More
posted @ 2009-11-08 20:51 包建强 Views(680) Comments(0) Diggs(0)
在前面介绍的的所有章节中,通过不同的程序,我们阐明了所有的概念和表。在本章,我们竭力来描述一个单独的程序,它包括了所有的表并显示有意义的输出。在显示了指向不同表的引用的地方,例如typeDef[1]、MethodRef[2]等等。我们将显示存在于这些位置上的实际值。从而,我们尝试着解决所有的交叉引用并以一种全面的方式显示元数据信息。 但是,在开始解释这个巨大的程序之前——该程序对所有的表进行了交... Read More
posted @ 2009-11-08 20:50 包建强 Views(780) Comments(0) Diggs(0)
b.il a.cs Output 表5-1 上面的例子是解释方法签名的开始步骤。这个程序被直接作为贯穿本章的一个原型使用。新引进的函数将被追加到abc函数的结尾。FillParamsArray和DisplayMethodSignature这2个函数会被添加到程序中。 为了支持函数签名的显示,参数名称的存在是不可避免的,就像我们在输出重看到的那样。目前,FillParamsArray方法进填... Read More
posted @ 2009-11-08 20:49 包建强 Views(803) Comments(0) Diggs(0)
始终对Control Template抱有恐惧。这是WPF/Silverlight中最灵活的技术。 说到底,Control Template就是为控件定义了视觉外观,从Control派生的所有类型,都具有一个Template属性。 如果只有Template,那反而倒简单了: <Button Height="23" HorizontalAlignment="... Read More
posted @ 2009-11-08 20:42 包建强 Views(622) Comments(0) Diggs(0)
1对于自定义ParameterInspector,需要注意的是,可以修改参数的值,但是不能改变参数的类型。 自定义ParameterInspector是用于Operation的,所以它要实现IOperationBehavior接口   2对于自定义OperationBehavior,由于它是由于终结点的,所以它要实现IEndpointBehavior接口。 此外,还要注意,cli... Read More
posted @ 2009-11-08 00:26 包建强 Views(400) Comments(0) Diggs(0)
接下来说ChannelListener和ChannelFactory。 ChannelListener是Service端的技术,用来侦听消息,创建信道栈,并为应用程序提供指向栈顶的引用。 我们不会直接使用ChannelListener,但是我们经常会使用到ServiceHost,殊途同归,其实也是用它来侦听消息。 static void Main(string[] args){ BasicHt... Read More
posted @ 2009-11-07 18:37 包建强 Views(1498) Comments(0) Diggs(1)
Channel分为2种:transport信道和protocol信道。 Service和Client都有一个信道栈,由多个信道组成,其中,transport信道位于信道栈的最底层,protocol信道位于信道栈的最上层。 protocol信道用于消息交互、安全、事务、日志。 transport信道用于transport和encoder。 信道栈又被称为Binding~~娃哈哈,终于找到了共性。 信... Read More
posted @ 2009-11-07 15:39 包建强 Views(3103) Comments(1) Diggs(0)
基于上文的Demo,我们观察到,在IIS宿主中,配置文件有以下特征: <system.serviceModel> <services> <service name="WcfService9.Service1" behaviorConfiguration="WcfService9.Service1Behavior"> &... Read More
posted @ 2009-11-07 13:09 包建强 Views(2339) Comments(1) Diggs(0)
上一页 1 ··· 13 14 15 16 17 18 19 20 21 ··· 60 下一页