F,你可以以信息的形式从一个进程向另一个进程发送数据。根据用户还有环境,信息的传递和内容很容易改变。比如,如果这项服务在网络上是公开的,那么一个基于文本的信息在通过HTTP时就会被使用。另外,如果客户端也在同一个网络上,一个二进制的信息在通过TCP时也会被使用。第十三章包括了使用WCF公开和使用的进程服务。Р框架上工作Р 框架上工作,你必须了解它是怎样建立的,它的代码是怎样编译和运行的。.NET进程是有规律的,并且打包存放在一个集合里面。执行的代码必须包含在一个集合里。Р了解组件和清单Р 这个组件包括代码,资源还有需要运行应用进程的清单(关于该集合的元数据)。程序集可以组成一个单独的文件,所有的信息都并入到一个动态链接库文件或者可执行文件当中,也可以是多个文件的集合,其中的信息被并入到DLL文件,图形文件和一个清单文件当中。组件的一个主要功能就是在类型,参考和安全问题上组成一个边界。组件的另一个重要功能就是组成一个单元进行部署。Р 组件的一个最重要的部分就是清单;实际上每一个组件都必须包含有一个清单。清单的目的就是来描述这个组件。这个清单包含以下事情:组件的身份,类的描述和组件暴露于客户端的数据类型,这个组件需要参考的其他的组件,还有需要运行在组件上的安全细节。Р 在默认情况下,当创建一个组件时,该结合就被标记为私有。这个组件的副本必须放在相同的目录下或者任何使用它的客户端组件bin的子目录下。如果该组件必须在客户端多个组件中分享,它就被放在一个特殊的窗口文件GAC中。如果要把一个私有的组件转换成一个共享程序集,你必须运行一个应用进程来创建一个加密密钥,然后你必须使用该密钥来标记该程序集。该程序集被标记后,你必须使用另一个应用进程来把这个共享的程序集添加到GAC文件中。通过对分享的组件的创建和公开授权严厉的要求,微软公司正努力确保对共享的程序集的命名冲突和恶意篡改不再发生。