zoukankan      html  css  js  c++  java
  • [Clr via C#读书笔记]Cp3共享程序集和强命名程

    Cp3共享程序集和强命名程序集

    私有方式部署+全局方式部署;弱命名程序集+强命名程序集
    强命名程序集使用发布者的公钥私钥进行签名,唯一标识发布者。
    共享dll被全部复制到System32中
    强命名程序集标识特征:文件名,版本号,语言文化,公钥标志。
    使用SN.exe工具生成密钥对并查看,在VS中也可以进行这个操作。
    全局程序集缓存GAC,GACUtil.exe
    尽量避免全局安装,使用私有部署。

    安装 .net framework时,实际会安装Microsoft程序集文件的两套拷贝,一套安装在编译器/CLR目录下用于生成,一套安装在GAC子目录中方便运行的时候加载。

    原来如此
    如果强命名程序集是在GAC以外的地方被加载(需要设置基目录配置文件的codeBase元素),那么每次加载的时候都会进行hash对比,而GAC中的hash对比只在第一次安装的时候进行。
    强命名程序集能够防止篡改
    延迟签名,先开发,发布的时候再正式签名。

    总之,大部分情况都是私有部署的弱命名程序集,强命名程序集有自己的好处,只是不到必须的时候尽量不要用。

    CLR解析类型引用

    同一个文件;不同的文件,同一个程序集;不同的文件,不同的程序集。
    简单来说就是通过引用不停地找,找到需要的类型为止,找不到就抛出异常。

    高级管理控制

    xml配置文件
    目标是更加灵活地指导CLR如何加载程序集。

  • 相关阅读:
    [STL][C++]MAP
    [原创]南水之源A*(A-Star)算法
    php+mysql模糊查询功能
    php中如何传递Session ID
    初识jsonp
    跨站脚本攻击XSS
    XSS危害——session劫持
    PHP中获取当前页面的完整URL
    smarty获得当前url的方法分享
    表空间的管理方式有哪几种,各有什么优劣?
  • 原文地址:https://www.cnblogs.com/newlifechou/p/8151060.html
Copyright © 2011-2022 走看看