應(yīng)用程序域是CLR中提供代碼運行范圍、錯誤隔離和安全設(shè)置隔離的邏輯單元,功能類似于操作系統(tǒng)的進程。一個或多個應(yīng)用程序域在一個操作系統(tǒng)的進程中運行。應(yīng)用程序域的創(chuàng)建和銷毀所需要的開銷,相對于操作系統(tǒng)的進程較小。但和操作系統(tǒng)的進程一樣,應(yīng)用程序域之間的數(shù)據(jù)共享相當(dāng)困難。
JIT引擎在編譯中間代碼之前,會尋找方法在本機機器代碼緩存并且判斷其是否可用,如果可用直接加載,如果不可用,它會查找類型中的方法存根,找到該中間代碼并且進行編譯。
強簽名程序集是一個帶有公鑰和數(shù)字簽名的程序集,每個強簽名都可以由四個元素來唯一標(biāo)識,它們分別是:文件名、版本號、語言文化和公鑰。這些信息都被包含在程序集的清單中。
弱簽名程序集擁有和強簽名程序集一樣的元數(shù)據(jù)、CLR頭文件和程序集清單,唯一不同是弱簽名程序集沒有公鑰,也不能進行數(shù)字簽名。弱簽名程序集不能放入GAC中,只能進行私有部署。
GAC是一個具有特定目錄結(jié)構(gòu)的文件夾,所有強簽名的程序集都可以被放入GAC中。可以通過.Net Framework自帶的asssembly viewer來簡單的拖動添加一個程序集到GAC中,或者別的工具。都是更具GAC的規(guī)范和程序集本身的特性在GAC的目錄下建立相應(yīng)的子目錄。
GAC的優(yōu)點:
延遲簽名就是指把對強簽名程序集的私密鑰加密和數(shù)字簽名延遲到實際發(fā)布時進行。延遲簽名提高了開發(fā)測試階段的效率,也方便了機構(gòu)和項目組管理自己的私鑰。
|
新聞熱點
疑難解答