日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > asp.net >内容正文

asp.net

.NET项目是否有必要升级到.NET 3.5 + VS 2008

發布時間:2024/4/15 asp.net 53 豆豆
生活随笔 收集整理的這篇文章主要介紹了 .NET项目是否有必要升级到.NET 3.5 + VS 2008 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

前言:.NET 3.5 + VS 2008已經發布一年多了,可是還有一半以上的企業和開發團隊在用VS2005+.Net 2.0(包括我們公司),甚至還有用.Net 1.1+VS2003的。生產工具是提高生產力的最重要途徑,但是還有許多人沒意識到08系列的強大。本來寫此文來說服公司領導,順便也發出來,想表達這種觀點:不與時俱進就要時不我待啦!網上好像還沒有這么一篇較短篇幅的文章能系統說明一下08+3.5的改進和創新,偶把所知道都整理出來,希望大家指正這些觀點的理解。


一、Visual Studio 2008環境新特性

?

·?? ??NET Framework 兼容支持

使用Visual Studio 2008可以進行基于多個.net framework 版本的開發,Visual Studio 2008同時支持framework 2.0/3.03.5幾個版本。在不同的版本下它可以自動的框架特性工具箱,項目類型,引用,智能提示……過濾功能。我們升級到Visual Studio 2008也非常簡單。

·???????? ASP.NET AJAXJavaScript智能客戶端支持

ASP.NET AJAX成為.NET 3.5的一部分,除了包括ASP.NET AJAX 1.0的所有功能外,還集成了WebPartsUpdatePanel,與<asp:menu> and <asp:treeview>這樣的控件的 ASP.NET 實現AJAX 集成。編寫JavaScript提供了智能提示和調試的功能,還增加了JSON的全面支持,無論在WCF還是AJAX上都有廣泛的應用。

·???????? 全新的Web開發體驗

Web設計器提供了分割視圖編輯、嵌套母板頁、以及強大的CSS編輯器集成。
ASP.NET提供了三個新的控件:<asp: ListView><asp: DataPager><asp: LinqDataSource>,這些控件對數據場景提供了非常好的支持,允許對輸出的標識做完全的控制。

?

·???????? 其他

Visual Studio 2008加入拼寫檢查器,可以在編譯前對不正確的定義或返回類型進行檢查。也優化了特別是自動提示和重構功能

支持智能部署ClickOnce.集成對Office (VSTO)Sharepoint 2007開發的支持。

性能上,運行一個后臺編譯器的速度比原來提高了一倍以上,而使用的內存不到原來的一半。VS2008精簡了CLR的線程池,使各種類型的多線程應用程序也得到性能改進。

?

二、.Net FrameWork 3.5的新語法特性:

  • 自動屬性(Auto-Implemented Properties)
  • 隱含類型局部變量(Local Variable Type Inference)
  • 匿名類型(Anonymous Types)
  • 對象與集合初始化器(Object and Collection Initializers)
  • 擴展方法(Extension Methods)
  • Lambda表達式和Lambda表達式樹 (Lambda Expression and Lambda Expression Trees)
  • 語言級集成查詢Linq系列支持(Language INtegrated Query)

?

自動屬性舉例:

??? private String name;

??? public String Name

??? {

??????? get { return name; }

??????? set { name = value; }

}

.NET 3.5下的新寫法:public String Name { set; get; }

?

隱含類型局部變量舉例:

??????? var url = "http://www.168.com";???? //url被識別String

??????? var dt = new DataTable();??????????? //dt被識別為DataTable

??????? var status = false;??????????????????? //status被識別為Boolen

?

匿名類型舉例:

??????????? var site1 = new { url = " http://1.2.3.4 ", title = "BBS", author = "Alex", qq = "4111852" };
??????????? var site2 = new { url = " http://www.168.com ", title = "Title", author = "Alex", qq = "4111852" };
??????????? site1.url = site2.url;

?

對象與集合初始化器舉例:

??????????? User user = new User();
??????????? user.Id = 1;
??????????? user.Name = "Alex";
??????????? user.Age = 22;

.NET 3.5下新的寫法:

??????????? var user = new User { Id = 1, Name = "Alex", Age = 22 };

?

擴展方法舉例:

??? public static int Int(this HttpRequest request, string key)

??? {

??????? return int.Parse(request[key]);

}

調用方法:int id = Request.Int("id");

?

Lambda表達式和Lambda表達式樹舉例:

string[] nums = { "8", "966", "55", "-14", "33", "2" };

//選擇數組中第偶數個元素的數值平方并輸出排序后的結果

??? nums.Select(n => Int32.Parse(n))

??????? .Where(n => n % 2 == 0)

??????? .Select(n => n * n)

??????? .OrderBy(n => n)

??????? .ToList()

??????? .ForEach(n => Console.WriteLine(n));

n => n % 2 == 0n => Console.WriteLine(n)都是Lambda表達式。

?

Linq(Linq To Entity)舉例:

??? public IList getUserLogin()

??? {

??????? using (var TE = new TestEntities())

??????? {

??????????? var lstLogin = (from user in TE.Users where user.Enabled = 1

??????????????????????????? select new Login

??????????????????????????? {

??????????????????????????????? PW = user.Pass,

??????????????????????????????? ID = user.Id

??????????????????????????? }).ToList();

??????????? return lstLogin;

??????? }

}

?關于.Net 3.5的語言特性,老趙在博客里有極為精妙的論述,強烈建議沒有看過的朋友同學去讀一下。


三、歷史性的三大集成框架:

  (太重要了,未來兩到三年一定會成為招聘.Net開發的基本要求)  

  • WPF (Windows Presentation Foundation)

WPF是微軟新一代圖形系統,為用戶界面、2D/3D 圖形、文檔、視頻、動畫、三維等媒體提供了統一的描述和操作方法。基于DirectX 9/10技術的WPF不僅帶來了前所未有的3D界面,而且其圖形向量渲染引擎也大大改進了傳統的2D界面,比如Vista中的半透明效果的窗體等都得益于WPF 程序員在WPF的幫助下,要開發出媲美Mac程序的酷炫界面已不再是遙不可及的奢望。 WPF相對于Windows客戶端的開發來說,向前跨出了巨大的一步,它提供了超豐富的.NET UI 框架,集成了矢量圖形,豐富的流動文字支持flow text support3D視覺效果和強大無比的控件模型框架。

對于開發人員和設計人員,WPF引擎統一了開發人員和設計人員體驗文檔、媒體和 UI 的方式他們從此只需學習一個模式。對于 .NET 開發人員,其框架是熟悉的,并且它最終將減少提供最佳用戶體驗和通信邏輯所需的代碼行數。對于設計人員,WPF 提供的平臺可消除內容、媒體和應用程序之間的邊界。更重要的是,WPF可以使開發人員和設計人員像Web開發一樣同步緊密地合作,也將大大提高C/S項目開發效率。

?

  • WCF (Windows Communication Foundation)

Microsoft為構建面向服務的應用提供的分布式通信編程框架,.NET Framework 3.5的重要組成部分。使用該框架,開發人員可以構建跨平臺、安全、可靠和支持事務處理的企業級互聯應用解決方案。

從功能的角度來看,WCF完全可以看作是ASMX.Net RemotingEnterprise ServiceWSEMSMQ等技術的并集。利用WCF,就可以解決包括安全、可信賴、互操作、跨平臺通信等等需求。開發者再不用去分別了解.Net RemotingASMX等等各種技術了,同時,WCF充分地考慮了與舊有系統的兼容性。安裝WCF并不會影響原有的.Net Remoting等技術方案。

?

  • ADO.NET Entity Framework

微軟以 ADO.NET 為基礎所發展出來的對象關系對應 (O/R Mapping) 解決方案。

ADO.NET Entity Framework Entity Data Model (EDM) 為主,將數據邏輯層切分為三塊,分別為 Conceptual Schema, Mapping Schema Storage Schema 三層,其上還有 Entity ClientObject Context 以及 LINQ 可以使用。Entity Framework Visual Studio 2008 .Net 3.5 CLR中都有充分的支持,也非常容易上手。使用Entity Framework,可以減少70-90%的數據訪問層代碼,極大地提高.Net程序的開發效率、維護效率及程序健壯性。

總結

以上是生活随笔為你收集整理的.NET项目是否有必要升级到.NET 3.5 + VS 2008的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。