色尼玛亚洲综合影院,亚洲3atv精品一区二区三区,麻豆freexxxx性91精品,欧美在线91

.NET 4九大新特性 FrameWork達(dá)到新境界

  本文將向您介紹.NET框架4中的主要功能和改進(jìn)特征。請注意,本文中并沒有提供有關(guān)這些新功能的綜合信息,并隨時可能更改。

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

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

  應(yīng)用程序兼容性和部署

  內(nèi)核新功能及改進(jìn)

  托管擴(kuò)展框架

  并行計算

  網(wǎng)絡(luò)編程

  Web開發(fā)

  客戶端開發(fā)

  數(shù)據(jù)

  通信和工作流

  一、應(yīng)用程序兼容性和部署

  除了一些在安全、標(biāo)準(zhǔn)遵從、正確性、可靠性及性能等方面的改進(jìn)之外,.NET框架4與基于早期.NET框架版本構(gòu)建的應(yīng)用程序高度兼容。

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

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

  以下各小節(jié)將描述應(yīng)用部署方面的改善。

  (一)客戶配置

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

  (二)進(jìn)程內(nèi)并行執(zhí)行

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

  二、內(nèi)核新功能及改進(jìn)

  以下各小節(jié)將描述公共語言運行時刻庫和基礎(chǔ)類庫所提供的新功能和改進(jìn)特征。

  (一)診斷和性能

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

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

  現(xiàn)在,您可以為了診斷目的而訪問ETW事件以提高性能。有關(guān)該內(nèi)容的更多的信息,請參閱文章《CLR ETW事件》和《控制.NET框架日志》,還可以參考文章《性能計數(shù)器和進(jìn)程內(nèi)并行應(yīng)用》。

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

  (二)垃圾收集

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

  (三)代碼契約

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

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

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

  (五)動態(tài)語言運行時

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

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

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

  (六)協(xié)變與反變

  有幾種泛型接口和委托現(xiàn)在支持協(xié)變與反變功能。有關(guān)該內(nèi)容的更多的信息,請參見《泛型中的協(xié)變與反變》。

  (七)BigInteger和復(fù)數(shù)

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

  新的System.Numerics.Complex結(jié)構(gòu)用于描述一個復(fù)數(shù),而且支持復(fù)數(shù)的算術(shù)運算和三角運算。

  (八)元組

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

  (九)文件系統(tǒng)枚舉功能方面的改進(jìn)

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

  (十)內(nèi)存映射文件

  .NET框架現(xiàn)在支持內(nèi)存映射文件。你可以使用內(nèi)存映射文件來編輯非常大的文件,還可以為進(jìn)程間通信創(chuàng)建共享內(nèi)存。

  (十一)64位操作系統(tǒng)與進(jìn)程

  您可以使用Environment.Is64BitOperatingSystem和Environment.Is64BitProcess屬性來標(biāo)識64位的操作系統(tǒng)和進(jìn)程。

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

  (十二)其他新功能

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  您可以使用Thread.Yield方法讓調(diào)用線程把當(dāng)前執(zhí)行上下文讓給另一個已準(zhǔn)備好在當(dāng)前處理器上運行的線程。

  System.Guid結(jié)構(gòu)現(xiàn)在包含了TryParse和TryParseExact方法。

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

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

  三、托管擴(kuò)展框架

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

  四、并行計算

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

  五、網(wǎng)絡(luò)編程

  網(wǎng)絡(luò)編程方面的改進(jìn)包括以下內(nèi)容:

  針對Windows身份驗證的安全改進(jìn)體現(xiàn)在幾個類中,包括System.NET.HttpWebRequest,System.NET.HttpListener,System.NET.Mail.SmtpClient,

System.NET.Security.SslStream和 System.NET.Security.NegotiateStream。在Windows 7和Windows Server 2008 R2中運行的應(yīng)用程序可以使用擴(kuò)展保護(hù)功能。有關(guān)該內(nèi)容的更多的信息,請參閱《使用擴(kuò)展保護(hù)集成Windows身份驗證》。

  支持使用IPv6和Teredo進(jìn)行網(wǎng)絡(luò)地址轉(zhuǎn)換(NAT)遍歷。有關(guān)該內(nèi)容的更多的信息,請參閱《使用IPv6和Teredo實現(xiàn)NAT遍歷》。

  新的網(wǎng)絡(luò)性能計數(shù)器能夠提供有關(guān)HttpWebRequest對象的信息。有關(guān)該內(nèi)容的更多的信息,請參閱《網(wǎng)絡(luò)性能計數(shù)器》。

  在System.NET.HttpWebRequest類中,通過重載AddRange方法支持使用64位頭部結(jié)構(gòu)。在System.NET.HttpWebRequest類中定義的新的屬性允許一個應(yīng)用程序設(shè)置很多HTTP頭部。您可以使用Host屬性設(shè)置一個HTTP請求中的獨立于請求URI的頭部值。

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

  提供在System.NET.Mail.MailMessage類中的針對郵件頭部的改進(jìn)支持。

  支持在一個加密中使用空密碼。您可以使用System.NET.ServicePointManager類和EncryptionPolicy屬性來指定加密策略。System.NET.Security.SslStream類的構(gòu)造函數(shù)現(xiàn)在使用一個System.NET.Security.EncryptionPolicy類作為參數(shù)。

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

  現(xiàn)在,能夠指定如何在System.URI和System.NET.HttpListener類中使用百分比編碼值來轉(zhuǎn)換和規(guī)范化一個URI。有關(guān)的詳細(xì)信息,請參閱System.NET.Configuration.HttpListenerElement,System.Configuratio.SchemeSettingElement,

System.Configuration.SchemeSettingElementCollection和System.Configuration.UriSection等幾個類。

  六、Web開發(fā)

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

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

  Web窗體方面,其中包括為ASP.NET路由提供的更加集成化的支持,對Web標(biāo)準(zhǔn)的增強(qiáng)支持,更新的瀏覽器支持,為數(shù)據(jù)控件增加了一些新功能,以及為視圖狀態(tài)管理增加了一些新的功能。

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

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

  動態(tài)數(shù)據(jù)方面,包括針對現(xiàn)有Web應(yīng)用程序的支持,全對多對多關(guān)系和繼承的支持,對字段模板和屬性的支持,以及增強(qiáng)的數(shù)據(jù)過濾功能。

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

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

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

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

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

  七、客戶端開發(fā)

  Windows Presentation Foundation

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

  八、數(shù)據(jù)

  (一)ADO.NET

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

  (二)動態(tài)數(shù)據(jù)

  對于ASP.NET 4來說,動態(tài)數(shù)據(jù)支持得到進(jìn)一步增強(qiáng),從而給你以更強(qiáng)大的功能快速建立數(shù)據(jù)驅(qū)動的網(wǎng)站。這包括以下內(nèi)容:

  基于在數(shù)據(jù)模型定義的約束的自動驗證功能。

  通過使用已成為動態(tài)數(shù)據(jù)項目的一部分的字段模板,能夠方便地改變在GridView和DetailsView控件中針對相應(yīng)字段生成的標(biāo)記。

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

  九、通信和工作流

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

NET技術(shù).NET 4九大新特性 FrameWork達(dá)到新境界,轉(zhuǎn)載需保留來源!

鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請第一時間聯(lián)系我們修改或刪除,多謝。

主站蜘蛛池模板: 壤塘县| 奈曼旗| 马山县| 金坛市| 古田县| 灵川县| 扶绥县| 信阳市| 始兴县| 郁南县| 广州市| 墨江| 桂平市| 汪清县| 玉树县| 崇左市| 青海省| 翁牛特旗| 方正县| 光山县| 周宁县| 分宜县| 翼城县| 济南市| 福海县| 扎囊县| 阳朔县| 德州市| 延吉市| 辽阳县| 甘谷县| 仁寿县| 沐川县| 尚义县| 广丰县| 自治县| 太保市| 锦州市| 龙胜| 大兴区| 延安市|