第67頁到第81頁

2021-08-16 08:27:58 字數 926 閱讀 4100

有公鑰就可以唯一標誌乙個程式集,所以該程式集可以被放在合適的gac位置,也能夠被其他程式集引用(在assemblyref表中有強簽名)。

缺少私鑰影響的是程式集不能防止被篡改。所以在開發階段產生了延遲簽名這個技術,可以用於開發的過程,在開發完畢後利用私鑰給程式集簽名,就可以防止被篡改(其實它本身就是一種篡改)。

延遲簽名是使用sn.exe將生成程式集和對程式集進行簽名分為兩步,先將公鑰嵌入程式集,再用私鑰給程式集簽名。通過往登錄檔寫略過驗證的程式集,可以將延遲簽名的程式集裝入gac中。此外,可以再程式集安裝完成後給它施加以混淆器,然後再簽名。

作者舉了乙個main function編譯執行的例子,提到無論這個程式引用的是.net framework version是什麼,它一定會呼叫當前執行該程式對應的clr version的.net framework,而忽略version。這個背後的原因是clr版本和.net framework的version是緊密**在一起的。

提到了clr乙個有趣的功能,那就是型別的遷移,從乙個程式集中遷移到另乙個程式集中,它是通過給新舊兩個型別新增attribute來使用的。它的根本原理應該也簡單,給老程式集的型別新增乙個引用到新程式集,凡是呼叫到老程式集的型別都利用新增的擴充套件反射呼叫新型別的方法。由clr這個大管家在背後默默地幹。

codebase的查詢順序在gac之後,在預設的位置之前。

發布者策略程式集。這個程式集其實是clr提供的一套機制,這個程式集必須裝到gac裡,程式集由兩個module組成,乙個清單module,乙個config resource module。它的命名由policy.major.minor.assemblyname.dll,major和minor是要被策略的那個dll的version。clr載入的時候自動從gac中查詢對應version的相同公司發布的policy assembly,然後根據policy裡面的config檔案來載入dll。這非常適合打補丁,修bug。

寒假第9頁作業

鏈結1鏈結2 鏈結3鏈結4 鏈結5 public static void main stringargs system.out.println 本金為 1000.0 system.out.println double price 1000.0 double year1 0.02251price pr...

寒假第18頁作業jQuery

1qq聊天 關閉 c 傳送 s 輕靈在春的光豔中交舞看變 你是一月早天的雲煙 黃昏吹著風的軟 檢視全部 你是人間四月天是永正圖書推出的 比烟花寂寞 系列之三。比烟花寂寞 系列包括 女子 愛眉小札 你是人間四月天 你是我眉心未完的詩 這系列以前所未有的包裝形式推出,引起讀者尖叫連連。一經上市,便引發各...

第16章 頁快取記憶體和頁回寫

磁碟訪問ms級別,記憶體訪問ns級別,使用資料務必將資料拷貝到記憶體中,這裡是將一些磁碟資料對映到記憶體中提高命中率。對應於磁碟的物理塊 對映關係 可以占用空閒記憶體擴張,也可以收縮 換出 read操作 讀取一段資料,首先在快取中查詢,沒有的話才呼叫i o去安排,讀取就直接讀取到快取中,一段時間沒有...