频道栏目
读书频道 > web开发 > .NET > .NET安全揭秘
2.1.4 共享程序集
2012-10-24 15:09:26     我来说两句
收藏   我要投稿

本文所属图书 > .NET安全揭秘

全书共分为五个部分。第一部分:.NET安全基础,透彻讲解了.NET体系结构、程序集与反射、应用程序域和CLR寄宿等核心技术,这部分内容是.NET架构的核心,同时也是理解.NET底层安全机制的基础;第二部分:.NET平台安...  立即去当当网订购

共享程序集的一个前提条件就是该程序集必须要有强名称。那么什么是共享程序集呢?要了解它,得先从私有程序集开始。

通常建立的exe或者dll程序集都是私有程序集,当在其他客户应用程序中使用这类程序集时,只需添加引用。当程序集被多个应用程序域使用时,每个应用程序域须复制该程序集,进程中也将存在该程序集的多个副本。

相对于私有程序集的是共享程序集,它使多个应用程序域能够访问同一个程序集。特别地,内存中只存在该程序集的同一份副本,这种非特定于域的代码共享极大地节省了内存资源占用。在大多数情况下,共享程序集安装在全局程序集高速缓冲存储器(Global Assembly Cache,GAC)中,而不存在于应用程序相关目录下,对它的引用不会产生文件复制,因此也不会产生额外的副本。下面介绍共享程序集的创建、安装及使用。

创建共享程序集的第一步是为该程序集添加强名称(详见2.1.3节),然后在GAC中安装共享程序集。

.NET提供的命令行工具gacutil.exe可以将具有强名称的程序集添至全局程序集缓存。命令格式为:

gacutil -i <程序集名称>

其中,“程序集名称”是要在全局程序集缓存中安装的程序集的名称。

下面的示例语句将文件名为 hello.dll 的程序集安装到全局程序集缓存:

gacutil -i hello.dll

在客户应用程序中使用共享程序集的方法与私有程序集一样简单。创建客户应用程序后,以与引用私有程序集相同的方式引用共享程序集,在应用程序代码中包含共享程序集命名空间(using语句),然后,就可以像使用本地对象一样使用共享程序集的公共对象了。

注意 安装全局程序破坏了。NET简化应用程序安装、部署、移动的策略,因为它本身是注册式安装。

您对本文章有什么意见或着疑问吗?请到论坛讨论您的关注和建议是我们前行的参考和动力  
上一篇:2.1.3 强名称程序集
下一篇:2.1.5 创建多文件程序集
相关文章
图文推荐
排行
热门
最新书评
特别推荐

关于我们 | 联系我们 | 广告服务 | 投资合作 | 版权申明 | 在线帮助 | 网站地图 | 作品发布 | Vip技术培训 | 举报中心

版权所有: 红黑联盟--致力于做实用的IT技术学习网站