.NET Framework學習筆記

來源:互聯網
上載者:User

  .NET平台主要由5個部分組成:作業系統、.NET企業級伺服器產品,.NET Web服務構件(passport)及.NET 架構。
  .NET架構有CLR(Common Language Runtime)和所有.NET支援的語言使用的一個公用類架構-----FCL(Framework Class Library)目前支援20種語言。FCL總共有99個名空間。
  運行時有純靜態環境,純動態環境,基於堆棧的環境三種。CLR屬於純動態啟動並執行一種。主要組成部分為VEE(Virtual Execution Engine),主要任務是管理和執行由.NET 語言編寫的代碼。
  CLR的執行過程:首先由類裝載程式(Class Loader)找到並裝入對象,啟用,接著驗證程式對其進行類型驗證,JIT再將IL編譯並轉換成機器碼,還可以動態對目標機器進行代碼最佳化,執行代碼及所需的其他服務(安全檢測,異常處理,高度等)由動作項目負責,還會自動回收無用的對象資源。

???  CLI(Common Language Infrastructure公用語言基礎結構)主要有CTS(Common Type System),CLS(Common Language Specification公用語言規範)和VES(Virtual Execution System)。
  其中CTS處於核心地位,它是編譯器,各種工具,應用程式和 CLI公用的一個統一的類型系統,它使得.NET 平台擁有多種語言整合的效能,也是型別安全的保障,它既可以支援物件導向語言,也可以支援C語言。有兩種類型:實值型別和參考型別。
  CLS由41條規則和其他規定組成,是CTS的補充,是為了提高庫和編寫的進階語言的配件級的互通性。

  Managed 程式碼是指用.net framework支援的語言寫的代碼。.net framework為了讓這些代碼可以執行,提供了數個核心運行服務,因此這些代碼必須向CLR提供最基本的資訊,這些資訊就叫做“中繼資料”。在程式中表現為在類前或函數前中括弧內的資料。可通過繼承System.Attribute來建立自己的中繼資料特性,如:
[AttributeUsage(AttributeTargets.Class)]
public class InspiredByAttribute:System.Attribute
{
?? public string InspiredB;
}
  配件是指一個或多個有main入口的應用程式或庫。配件可以引用配件。有私人配件和共用配件。私人配件是在單個應用目錄中的,共用配件是儲存在全域配件緩衝(GAC)中的,可用gacutil -i somedll.dll註冊到GAC中成為共用配件。對於共用配件有版本協調,即對共用配件加強版本約束。
版本號碼由四個數字組成(如:5.5.2.33),如果前兩個數字中有任意一個不同的配件,就認為是不相容的;如果第三個不同,就認為是“可能相容”;如果第四個不同,就認為是相容的。這些規則可通過設定檔來指定。
  清單是配件是描述,包括資源,類型和引用。
  垃圾收集由運行時組件負責管理對象生命及其佔用堆記憶體的系統。.NET垃圾收集器工作機制:周期性地遍曆當前被引用的對象列表,凡是沒被發現的對象,都準備銷毀並收回所佔用記憶體。
  序列化指將對象轉換為位元組流的過程,還原序列化是從位元組流構建對象的過程。
??????? 代碼訪問安全(Code Access Security):CAS是.NET安全模型的一個部分,決定某段代碼是否允許執行及使用什麼資源。可通過caspol -lg來查看機器上的CAS程式碼群組。

例:caspol -ag 1.3 -site www.pconline.com.cn FullTrust?? 來使用網站完全訪問你的機器,不受限制。
?????? 反射:即通過編程來訪問裝配件的中繼資料,因為裝配件是自我描述的,即裝配件包含了中繼資料對自身的描述,因此可以通過反射來訪問自身的中繼資料。.NET本身有一些基類可以實現反射。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.