程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> ASP編程 >> ASP技巧 >> 必讀.NET常見問題匯總

必讀.NET常見問題匯總

編輯:ASP技巧

什麼是.Net?它主要包括什麼?本文總結了一些.NET常見問題,雖然時間比較早,而.Net平台在過去幾年間發展很快,但文中介紹的概念基本上都還沒有變化。
本文總結了一些關於.NET的常見問題與解答。這些.NET常見問題對於想要了解.Net整體概念的讀者們會有一些幫助。

一 什麼是.Net?它主要包括什麼?

.Net是為簡化在第三代因特網的高分布式環境下的應用程序開發,基於開放互聯網標准和協議之上,實現異質語言和平台高度交互性,而構建的新一代計算和通信平台。

.Net主要包括普通語言運行時(Common Language Runtime)和.Net構架類庫。

二 .Net主要的優點有哪些?

.Net的主要優點有跨語言,跨平台,安全,以及對開放互聯網標准和協議的支持。

.Net支持多種語言的互操作,即在一種語言下開發的組件,可在另一組件下通過面向對象的繼承而得以重用,目前.Net支持的語言達二十多種。

.Net通過將各語言先編譯成中間語言(IL),然後再執行時用即時(Just In Time)編譯器將之編譯成本地平台代碼來實現異構平台下對象的互操作,目前.Net支持的平台有Windows,Linux和Unix的支持正在開發中。

.Net通過普通語言運行時(Common Language Runtime)來實現資源對象,類型的安全。

.Net通過對HTTP,XML,SOAP,WSDL等Internet標准的強勁支持提供在異構網絡環境下獲取遠程服務,連接遠程設備,交互遠程應用的編程界面.

三 .Net中的普通語言運行時(Common Language Runtime)指什麼?它在.Net中處什麼位置?

CLR(Common Language Runtime)普通語言運行時是整個.net framework構建的基礎,是實現.Net跨平台,跨語言,代碼安全等核心特性的關鍵。它實際上是駐留在內存裡的一段代理代碼,負責在整個.net整個執行期間的代碼管理工作,比較典型的有:內存管理,線程管理,遠程管理,代碼強制安全類型等。這些都可稱得上.Net framework的生命線。實際上,普通語言運行時代理了一部分操作系統的管理功能。

四 .Net構架類庫是什麼?包括哪些內容?

.Netl構架類庫是基於運行時面向對象的特性而建造的,和普通語言運行時緊密集成的一族可重用類(Class)的集合。它大大簡化了軟件開發的難度,而且很容易與第三方組件無縫集成。

.Net架構類庫主要包括對一下編程模型的支持:

1. 控制台應用程序。

2. 腳本和宿主應用程序。

3. Windows Forms應用程序(Windows 桌面GUI應用程序)。

4. ASP.Net應用程序。

5. Web Services應用程序。

6. Windows 服務程序

五 .Net支持的開發語言有哪些?.Net語言的互操作性是指什麼?

.Net聲稱支持市面上20多種語言,但目前只有微軟官方發布的C#,Visual Basic.Net,Managed C++,和JSript,其他廠商聲稱正在開發中的支持工具有COBOL,Eiffel,Perl,Smalltalk,Python。

.Net語言的互操作性是指遵循普通語言運行時(Common Language Runtime)規范的語言在對象繼承方面的支持,即用一種語言在.Net平台下開發的類可在另一語言中重用,這通過一種稱作微軟中間語言MIL來實現,即語言編譯器首先將該語言編譯成微軟中間語言,再在相應平台下編譯出本地代碼。這一切都是在普通語言運行時的規范下進行。

六 .Net支持的平台有哪些?它的跨平台實現得如何?

目前支持.Net的平台有Windows 2000, NT4 SP6a, Windows Me和Windows 98。其聲稱支持的平台有Unix,Linux等,目前有三個項目正在開發Linux下的.Net平台:Ximian公司的Mono項目,DotGNU以及 Potable .Net.

七 .Net與COM的關系是什麼?.Net是否意味著COM的終結?

COM定義了組件對象間通信的二進制標准,.Net通過組件內置的類型系統提供了類似的機制,它為此提供了另一個途經。.Net並不意味著COM的終結,但必將大大減少開發人員對COM的依賴。.Net 支持COM和.Net組件之間的互操作性,實際上可通過Runtime Callable Wrapper(RCW)來實現在.Net中獲取COM組件,通過COM Callable Wrapper(CCW)來實現在COM中獲取.Net組件。

八 .Net中的中間語言(IL)是什麼?它在.Net平台中起什麼作用?開發人員可以用中間語言(IL)編程嗎?

.Net中的中間語言是指可以在普通語言運行時規范下,.執行時通過即時(Just In Time)編譯器轉化為本地代碼的,與CPU獨立的一族指令集合。它在.Net平台中是實現語言互操作的一個核心環節,所有.Net平台的語言都要先被編譯成中間語言(IL)。程序員也可以直接利用中間語言(IL)來編程,但不推薦那樣做,中間語言對理解.Net對象某些行為和程序的調試很有幫助

九 .Net中的自動垃圾收集是什麼?它給.Net平台下的編程帶來什麼變化?

.Net垃圾收集器負責整個.Net運行時受管代碼的內存分配與釋放任務。它通過一定的優化算法來選擇收集的對象和時間。程序員只有在釋放大量受管資源時可以進行立即強制垃圾收集,在釋放非受管資源時采用終止化(Finalize)操作來處理,需要在程序運行中釋放的應該實現Dispose()方法,並明確調用。其它時間將資源的回收交由.Net垃圾收集起來做。

十 .Net的受管(Managed)代碼與非受管(Unmanaged)代碼指什麼?他們的編碼有什麼區別?

.Net的受管代碼(Managed Code)是指符合普通語言運行時(Common Language Runtime)規范,在內存中受運行時代碼代理進行內存管理,線程管理,遠程管理,代碼強制安全類型的代碼。非受管代碼指對內存,文件,數據庫等非受管資源進行操作的代碼,他們通常不受運行時代碼代理管理,是不安全的。對受管代碼的編程只需專注於編程的邏輯,對於內存等資源的管理交由普通語言運行時(Common Language Runtime)來負責,而對非受管代碼的編程,則要開發人員精心負責各種非受管資源的分配和回收工作。

以上十條.NET常見問題,希望看了之後會增進你對.Net平台的認識。

 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved