• <td id="ae6ms"><li id="ae6ms"></li></td>
  • <xmp id="ae6ms"><td id="ae6ms"></td><table id="ae6ms"></table>
  • <table id="ae6ms"></table>
  • <td id="ae6ms"></td>
    <td id="ae6ms"></td>
  • <table id="ae6ms"></table><table id="ae6ms"><td id="ae6ms"></td></table>
  • <td id="ae6ms"></td>
  • <table id="ae6ms"><li id="ae6ms"></li></table>
  • <table id="ae6ms"></table>
    西西軟件園多重安全檢測下載網站、值得信賴的軟件下載站!
    軟件
    軟件
    文章
    搜索

    首頁編程開發C#.NET → framework4.0達到傳說新境界,.NET 4九大新特性分析

    framework4.0達到傳說新境界,.NET 4九大新特性分析

    相關軟件相關文章發表評論 來源:本站原創時間:2010/4/1 0:00:50字體大?。?em class="fontsize">A-A+

    作者:不詳點擊:1518次評論:0次標簽: framework

    • 類型:手機工具大?。?i>3.8M語言:中文 評分:8.0
    • 標簽:
    立即下載

     請注意,.NET框架4引入了一個改進的安全模式。有關該內容的更多的信息,請參閱文章《.NET框架4中的安全變化》。

      具體來說,本文中將介紹.NET框架4的如下一些新功能和改進特征:

      應用程序兼容性和部署

      內核新功能及改進

      托管擴展框架

      并行計算

      網絡編程

      Web開發

      客戶端開發

      數據

      通信和工作流

      一、應用程序兼容性和部署

      除了一些在安全、標準遵從、正確性、可靠性及性能等方面的改進之外,.NET框架4與基于早期.NET框架版本構建的應用程序高度兼容。

      .NET框架4并不會自動使用當前版本的公共語言運行庫來運行使用早期版本的.NET框架構建的應用程序。為了在.NET框架4下運行以前的應用程序,你必須使用在您的Visual Studio項目的屬性中指定的目標.NET框架版本重新編譯您的應用程序,或者在應用程序的配置文件中使用元素來指定支持的運行時刻庫。

      如果安裝.NET框架4后您的應用程序或組件無法工作,請在微軟聯系網站提交一份錯誤報告。您可以如在《.NET框架4應用程序兼容性》中所描述的那樣進行兼容性測試,并參考文章《演練:Visual Studio 2010和.NET框架4》來了解有關新的功能。有關其他信息及已知的遷移問題,可以訪問博客《.NET框架兼容性》。

      以下各小節將描述應用部署方面的改善。

      (一)客戶配置

      .NET框架4的客戶配置支持比以前的版本更多的平臺,并為您的 Windows Presentation Foundation(WPF)、控制臺或Windows窗體應用程序提供快速的部署體驗。有關該內容的更多的信息,請參閱文章《.NET框架客戶端配置》。

      (二)進程內并行執行

      此功能能夠使應用程序在同一進程中加載和啟動.NET框架的多個版本。例如,您可以在同一進程中運行加載插件(或組件)的應用程序,程序本身基于.NET框架 2.0 SP1而插件基于.NET框架4。更早一些的組件將繼續使用早的.NET框架版本,而新的組件使用新的.NET框架版本。有關該內容的更多的信息,請參考文章《進程內并行執行》。

      二、內核新功能及改進

      以下各小節將描述公共語言運行時刻庫和基礎類庫所提供的新功能和改進特征。

      (一)診斷和性能

      早期版本的.NET框架并沒有提供一種方法來確定一個特定的應用程序域是否正在影響其他應用程序域,因為操作系統的API及相關工具(如 Windows任務管理器)都被精確設計到進程級。從.NET框架4開始,你可以在每一個應用程序域中獲取處理器及內存的使用估測信息。

      您可以監控每一個應用程序域的CPU和內存使用情況??梢酝ㄟ^托管和本機宿主API以及Windows事件跟蹤(ETW)來進行應用程序域資源的監控。當啟用此功能后,它能夠在進程的整個生命周期過程中收集所有應用程序域的統計信息。有關此主題,你也可以參考新屬性AppDomain.MonitoringIsEnabled的介紹。

      現在,您可以為了診斷目的而訪問ETW事件以提高性能。有關該內容的更多的信息,請參閱文章《CLR ETW事件》和《控制.NET框架日志》,還可以參考文章《性能計數器和進程內并行應用》。

      最后,System.Runtime.ExceptionServices.HandleProcessCorruptedStateExceptionsAttribute 屬性能夠支持在托管代碼中處理顯示崩潰的進程狀態的異常。

      (二)垃圾收集

      .NET框架4支持后臺垃圾收集。此功能取代了以前版本中的并行垃圾收集,從而提供更好的系統性能。有關該內容的更多的信息,請參閱文章《垃圾收集基礎》。

      (三)代碼契約

      代碼契約功能允許你指定那些僅通過方法或類型的簽名尚不能描述的契約信息。新命名空間System.Diagnostics.Contracts中包含的類提供了一種獨立于語言的方法并使用前置條件、后置條件和對象不變量等形式來表達編碼假設。這些契約通過運行時檢查能夠改進測試,支持靜態契約校驗,并支持文檔生成。有關該內容的更多的信息,請參見《代碼契約》。

      (四)僅使用設計時互操作程序集

      如今,你不再需要攜帶主互操作程序集(PIA)來部署與COM對象互操作的應用程序。在.NET框架4中,編譯器可以從互操作程序集中嵌入類型信息,而且能夠僅選擇那些應用程序(例如,一個插件)實際使用的類型。類型安全由公共語言運行時來保障。有關信息,請參閱文章《在托管代碼中使用COM類型》和《演練:從微軟 Office程序集中嵌入類型信息(C#和Visual Basic)》。

      (五)動態語言運行時

      動態語言運行時 (DLR)是一個新的運行時環境,它把一組針對動態語言的服務添加到CLR中。DLR使開發運行于.NET框架上的動態語言更加容易,而且有利于把動態特性添加到靜態類型的語言中。為了支持DLR,.NET框架中添加了一個新的命名空間System.Dynamic。

      通過引入新的描述控制流的類型,例如System.Linq.Expressions.LoopExpression和 System.Linq.Expressions.TryExpression,表達式樹功能被進一步擴展。注意,這些新的類型僅為動態語言運行時 (DLR)所使用,而不能夠由LINQ使用。

      此外,還有一些支持.NET框架基礎設施的新類被添加到 System.Runtime.CompilerServices命名空間中。有關該內容的更多的信息,請參見文章《動態語言運行時概述》。

      (六)協變與反變

      有幾種泛型接口和委托現在支持協變與反變功能。有關該內容的更多的信息,請參見《泛型中的協變與反變》。

      (七)BigInteger和復數

      新的System.Numerics.BigInteger結構是一個任意精度的整數數據類型,它支持所有標準的整數運算,其中包括位操作。BigInteger可以用于任何.NET框架語言中。此外,一些新的.NET框架語言(如F#和 IronPython)都已內置了對此結構的支持。

      新的System.Numerics.Complex結構用于描述一個復數,而且支持復數的算術運算和三角運算。

      (八)元組

      .NET框架4引入了System.Tuple類,用于創建包含結構化數據的元組對象。另外,還提供了泛型元組類以便支持具有1至8個組件的元組。為了支持有9個或更多組件的元組對象,提供了一個泛型元組類,此類使用7個類型參數,而第8個參數可以是任何的元組類型。

      (九)文件系統枚舉功能方面的改進

      .NET框架4又增加了新的文件枚舉方法,從而進一步提高訪問巨型文件目錄或遍歷大文件的應用程序的性能。有關該內容的更多的信息,請參見文章《如何:枚舉目錄和文件》。

       (十)內存映射文件

      .NET框架現在支持內存映射文件。你可以使用內存映射文件來編輯非常大的文件,還可以為進程間通信創建共享內存。

      (十一)64位操作系統與進程

      您可以使用Environment.Is64BitOperatingSystem和 Environment.Is64BitProcess屬性來標識64位的操作系統和進程。

      當你打開基鍵時,您可以使用 Microsoft.Win32.RegistryView枚舉來指定一個32位或64位的注冊表視圖。

      (十二)其他新功能

      以下列表描述了公共語言運行庫和基礎類庫其他方面的新功能、改進和便利之處。其中的一些功能是基于客戶建議提供的。

      為了支持文化敏感型格式,System.TimeSpan結構包括了對于ToString、Parse和TryParse方法的新的重載,還有對ParseExact和 TryParseExact方法的新的重載。

      新的String.IsNullOrWhiteSpace方法能夠確定一個字符串是 null,空串,還是只包含空白字符。新增加了對String.Concat和String.Join方法的重載,這兩個重載方法能夠串聯 System.Collections.Generic.IEnumerable集合中的成員。

      String.Concat方法能夠使讓您串連一個可枚舉集合中的每一個元素,而不必預先把這些元素轉換為字符串。

      又增加了兩個新的更方便的方法:StringBuilder.Clear和Stopwatch.Restart。

      新的Enum.HasFlag方法可以確定是設置一個枚舉值中的一位還是多位域(標志)。Enum.TryParse方法返回一個布爾值,用于指示是否成功地解析了一個字符串或整數。

       System.Environment.SpecialFolder枚舉中包含了幾個新的文件夾。

      現在,您可以使用從 System.IO.Stream類繼承的類中的CopyTo方法輕松地把一個流復制到另一個流中。

      新的重載的 Path.Combine方法能夠使您合并多個文件路徑。

      新的System.IObservable<(Of <(T>)>)和System.IObserver<(Of <(T>)>)接口提供了一種更一般化的機制用于基于推技術的通知。

      System.IntPtr和 System.UIntPtr類現在包括了對加法和減法運算符的支持。

      現在,您可以通過把類型包裝在一個 System.Lazy<(Of <(T>類中來實現對任何自定義類型的延遲初始化。

      新的 System.Collections.Generic.SortedSet類提供了一棵自我平衡樹,它能夠在插入、刪除和搜索數據后維護數據的排列順序。這個類實現了新的System.Collections.Generic.ISet接口。

      針對 System.IO.Compression.DeflateStream和System.IO.Compression.GZipStream類的壓縮算法得到進一步的改進,以便使已壓縮的數據不再膨脹。此外,還取消了對壓縮流的4G大小的限制。

      新的重載的 Monitor.Enter(Object, Boolean)方法中可以使用一個布爾類型的引用,只有當監視器成功地進入時此變量才被自動設置為true。

      您可以使用 Thread.Yield方法讓調用線程把當前執行上下文讓給另一個已準備好在當前處理器上運行的線程。

      System.Guid結構現在包含了TryParse和TryParseExact方法。

      新的Microsoft.Win32.RegistryOptions枚舉可以讓你指定一個不穩定的注冊表項,此項在計算機重新啟動后便不再存在。

      注冊表項不再限制為255個字符的最大長度。


      三、托管擴展框架

      托管擴展性框架(MEF)是.NET框架4中的一個新庫,幫助您構建可擴展的和可組合式應用程序。MEF可以讓您指定在一個應用程序中的擴展點,給其他擴展的應用程序提供服務,以及創建可擴展應用程序所使用的部件等。MEF還支持很容易地基于元數據搜索到可用的部件,而無需為這些部件加載相應的程序集。有關該內容的更多的信息,請參閱《托管可擴展框架》。有關MEF類型的列表,你可以參閱System.ComponentModel.Composition命名空間。

      四、并行計算

       .NET框架 4針對編寫多線程和異步代碼引入了一個新的編程模式,從而極大地簡化了應用程序和庫開發者的編程。此新的模式可以使開發人員以一種自然的方式來編寫高效的,良好粒度的,可擴展的并行代碼,而不必直接使用線程或線程池等。新的System.Threading.Tasks命名空間和其他相關類型支持這種新模式。并行LINQ(PLINQ),作為LINQ to Objects的一種并行實現,能夠通過聲明性語法支持類似的功能。有關該內容的更多的信息,請參閱《.NET框架并行程序設計》。

      五、網絡編程

      網絡編程方面的改進包括以下內容:

      針對Windows身份驗證的安全改進體現在幾個類中,包括 System.Net.HttpWebRequest,System.Net.HttpListener,System.Net.Mail.SmtpClient,System.Net.Security.SslStream 和 System.Net.Security.NegotiateStream。在Windows 7和Windows Server 2008 R2中運行的應用程序可以使用擴展保護功能。有關該內容的更多的信息,請參閱《使用擴展保護集成Windows身份驗證》。

      支持使用 IPv6和Teredo進行網絡地址轉換(NAT)遍歷。有關該內容的更多的信息,請參閱《使用IPv6和Teredo實現NAT遍歷》。

      新的網絡性能計數器能夠提供有關HttpWebRequest對象的信息。有關該內容的更多的信息,請參閱《網絡性能計數器》。

      在 System.Net.HttpWebRequest類中,通過重載AddRange方法支持使用64位頭部結構。在 System.Net.HttpWebRequest類中定義的新的屬性允許一個應用程序設置很多HTTP頭部。您可以使用Host屬性設置一個HTTP 請求中的獨立于請求URI的頭部值。

      提供針對System.Net.Mail.SmtpClient和相關類的安全套接字層(SSL) 支持。

      提供在System.Net.Mail.MailMessage類中的針對郵件頭部的改進支持。

      支持在一個加密中使用空密碼。您可以使用System.Net.ServicePointManager類和EncryptionPolicy屬性來指定加密策略。 System.Net.Security.SslStream類的構造函數現在使用一個 System.Net.Security.EncryptionPolicy類作為參數。

      為基于密碼的身份驗證模式,如在 System.Net.NetworkCredential類中定義的基本型(Basic),摘要式(Digest),NTLM和Kerberos身份驗證等模式,提供證書支持。為了提高安全性,現在可以把密碼視為System.Security.SecureString類的實現,而不是簡單的 System.String類的實例。

      現在,能夠指定如何在System.URI和System.Net.HttpListener類中使用百分比編碼值來轉換和規范化一個URI。有關的詳細信息,請參閱 System.Net.Configuration.HttpListenerElement,System.Configuratio.SchemeSettingElement,System.Configuration.SchemeSettingElementCollection 和System.Configuration.UriSection等幾個類。

      六、Web開發

       ASP.NET版本4在以下幾個方面引入了一些新特點:

      核心服務,包括一個新的允許您擴展緩存的API,支持壓縮會話狀態數據和一個新的應用程序預加載管理器(自動啟動功能)。

      Web窗體方面,其中包括為ASP.NET路由提供的更加集成化的支持,對Web標準的增強支持,更新的瀏覽器支持,為數據控件增加了一些新功能,以及為視圖狀態管理增加了一些新的功能。

      Web窗體控件方面,提供了一個新的圖表控件。

      MVC框架方面,包括針對視圖的新的輔助方法,對分區的MVC應用程序的支持,并提供了異步控制器。

      動態數據方面,包括針對現有Web應用程序的支持,全對多對多關系和繼承的支持,對字段模板和屬性的支持,以及增強的數據過濾功能。

      在Microsoft AJAX庫中增加了針對客戶端中心型Ajax應用程序的額外支持。

      Visual Web Developer中,包括了改進的針對JScript的智能感知支持,針對HTML和ASP.NET標記的新的自動完整代碼片段支持,以及增強的CSS 兼容性支持。

      部署方面,為自動化的典型的部署任務增加了新的支持工具。

      多目標方面,包括針對無法在.NET框架的目標版本中可用功能的更好的過濾支持。

      有關這些功能的更詳細的信息,請參考《ASP.NET 4和Visual Web Developer新特征》。

      七、客戶端開發

      Windows Presentation Foundation

      在.NET框架4中,Windows Presentation Foundation(WPF)在許多方面都發生了變化并進行了改進,包括控件、圖形和XAML等等。有關該內容的更多的信息,請參考《WPF 4新特征概述》。

      八、數據

      (一)ADO.NET

      ADO.NET的實體框架中提供了新功能,包括持久化透明對象(Persistence-Ignorant Objects,譯者注:這種對象具有不必事先在DBMS中建立實體信息就可以利用實體框架的DDL生成功能將POCO對象結構轉換成實體信息結構以存入信息庫中的能力。),在LINQ查詢功能和自定義對象層代碼生成等。有關該內容的更多的信息,請參閱《ADO.NET新特征》。

      (二) 動態數據

      對于ASP.NET 4來說,動態數據支持得到進一步增強,從而給你以更強大的功能快速建立數據驅動的網站。這包括以下內容:

      基于在數據模型定義的約束的自動驗證功能。

      通過使用已成為動態數據項目的一部分的字段模板,能夠方便地改變在GridView和DetailsView控件中針對相應字段生成的標記。

      有關該內容的更多的信息,請參考《ASP.NET 4和Visual Web Developer新特征》。

      九、通信和工作流

      Windows通信基礎(WCF)實現了消息管理方面的增強并提供與 Windows工作流基礎(WF)的無縫集成。WF提供的改進體現在性能、可擴展性、工作流建模以及一個更新的可視化設計器等方面。有關該內容的更多的信息,請參考《Windows通信基礎新特征概述》和《Windows工作流基礎新特征概述》。

      相關評論

      閱讀本文后您有什么感想? 已有人給出評價!

      • 8 喜歡喜歡
      • 3 頂
      • 1 難過難過
      • 5 囧
      • 3 圍觀圍觀
      • 2 無聊無聊

      熱門評論

      最新評論

      發表評論 查看所有評論(0)

      昵稱:
      表情: 高興 可 汗 我不要 害羞 好 下下下 送花 屎 親親
      字數: 0/500 (您的評論需要經過審核才能顯示)
      女人让男人桶30分钟免费视频,女人张开腿让男人桶个爽,一进一出又大又粗爽视频
    • <td id="ae6ms"><li id="ae6ms"></li></td>
    • <xmp id="ae6ms"><td id="ae6ms"></td><table id="ae6ms"></table>
    • <table id="ae6ms"></table>
    • <td id="ae6ms"></td>
      <td id="ae6ms"></td>
    • <table id="ae6ms"></table><table id="ae6ms"><td id="ae6ms"></td></table>
    • <td id="ae6ms"></td>
    • <table id="ae6ms"><li id="ae6ms"></li></table>
    • <table id="ae6ms"></table>