Framework各版本區(qū)別.ppt_第1頁
Framework各版本區(qū)別.ppt_第2頁
Framework各版本區(qū)別.ppt_第3頁
Framework各版本區(qū)別.ppt_第4頁
Framework各版本區(qū)別.ppt_第5頁
已閱讀5頁,還剩58頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)

文檔簡介

Lets Talk About .NET,歐美事業(yè)部 曹盛,目錄,1.反射 2.委托 3.事件 4. .net各版本之間的區(qū)別 4.1 .NET Framework 1.1 4.2 .NET Framework 2.0 4.3 .NET Framework 3.0 4.4 .NET Framework 3.5 4.5 .NET Framework 3.5 SP1 4.6 .NET Framework 4.0,反射(Reflection)是.NET中的重要機制,通過放射,可以在運行時獲得.NET中每一個類型的成員,包括方法、屬性、事件,以及構(gòu)造函數(shù)等。 應(yīng)用程序結(jié)構(gòu)分為應(yīng)用程序域程序集模塊類型成員幾個層次,公共語言運行庫加載器管理應(yīng)用程序域,這種管理包括將每個程序集加載到相應(yīng)的應(yīng)用程序域以及控制每個程序集中類型層次結(jié)構(gòu)的內(nèi)存布局。 程序集包含模塊,而模塊包含類型,類型又包含成員,反射則提供了封裝程序集、模塊和類型的對象。,反射獲取和加載程序集System.Reflection.Assembly,使用反射來獲取程序集常用的有以下幾種方法: 獲取AppDomain 中包含的所有程序集 調(diào)用AppDomain 類的屬性currentDomain 的GetAssemblies 方法將返回一個由System.Reflection.Assembly元素組成的數(shù)組,示例如下: foreach (Assembly assem in Appdomain.currentDomain.GetAssemblies() 加載單個程序集,System.Reflecton.Assembly 類型為加載一個程序集,提供了以下方法: Load方法:例如: Assembly aAssembly= System.Reflecton.Assembly.Load(“PetShop.SQLServerDAL“); LoadFrom 方法:例如:Assembly a = System.Reflecton.Assembly.LoadFrom( “ReflectSample.exe“);,反射獲取類型System.Type,使用反射來獲取類型常用的有以下幾種方法: 使用typeof運算符獲取類型的 System.Type 對象, 如: System.Type type = typeof(int); System.Type type = typeof(HelloWorld); / HelloWorld是自定義的類名 通過類型實例,使用方法 GetType獲取類型的 System.Type 對象,如: int intA = 10; System.Type type = intA.GetType(); 獲取程序集所包含的所有類型 使用程序集實例的GetTypes方法可以獲取程序集所包含的所有類型,如: Assembly a = Assembly.LoadFrom (“ReflectSample.exe“); Type mytypes = a.GetTypes( ); /從程序集獲取所有數(shù)據(jù)類型,反射創(chuàng)建類型的成員,以下介紹幾個用于類型成員的類: ConstructorInfo類用于類型的構(gòu)造函數(shù),使用ConstructorInfo可以獲取以下信息:構(gòu)造函數(shù)的名稱、參數(shù)、訪問修飾符和實現(xiàn)詳細信息等。使用Type的GetConstructors或GetConstructor方法來創(chuàng)建特定的構(gòu)造函數(shù)ConstructorInfo對象。 ConstructorInfo p = typeof(t).GetConstructors(); for (int i=0;ip.Length;i+) Console.WriteLine(pi.IsStatic); MethodInfo類用于類型的方法成員,使用MethodInfo獲取以下信息:方法的名稱、返回類型、參數(shù)、訪問修飾符和實現(xiàn)詳細信息等。使用Type的GetMethods或GetMethod方法來獲取MethodInfo對象。,反射創(chuàng)建類型的成員,使用 FieldInfo 獲取以下信息:字段的名稱、訪問修飾符和實現(xiàn)詳細信息等;并獲取或設(shè)置字段值。使用Type的GetField 等方法來獲取FieldInfo對象。 使用 EventInfo獲取以下信息:事件的名稱、事件處理程序數(shù)據(jù)類型、自定義屬性、聲明類型和反射類型等;并添加或移除事件處理程序。使用Type的GetEvent等方法來獲取EventInfo對象。 使用 PropertyInfo 獲取以下信息:屬性的名稱、數(shù)據(jù)類型、聲明類型、反射類型和只讀或可寫狀態(tài)等;并獲取或設(shè)置屬性值。使用Type的GetProperty等方法來獲取PropertyInfo對象。,反射創(chuàng)建類型的實例,通過反射創(chuàng)建類型的實例常用的有以下幾種方法: 使用System.Activator的CreateInstance方法創(chuàng)建類型的實例。例如: Object obj = Activator.CreateInstance(type); /type是一個類型對象 Assembly對象的CreateInstance實例方法,如: PetShop.IDAL.Iproduct myProduct= (PetShop.IDAL.IProduct) aAssembly.CreateInstance(“PetShop.SQLServerDAL.Product“); 可以將反射程序集與創(chuàng)建類型的實例合并如下,這是常用的方法,代碼如下: PetShop.IDAL.Iproduct myProduct= (PetShop.IDAL.IProduct) Assembly.Load( “PetShop.SQLServerDAL“).CreateInstance(“PetShop.SQLServerDAL.Product“);,反射調(diào)用類型實例的方法,使用反射調(diào)用類型實例的方法有以下幾種方式: 使用System.type的對象 t 調(diào)用 InvokeMember方法來調(diào)用一個類型的實例方法。如: String s = (String) t.InvokeMember(“ToString“, BindingFlags.DeclaredOnly |BindingFlags.Public | BindingFlags.NonPublic | BindingFlags.Instance | BindingFlags.InvokeMethod, null, obj, null); 使用System.reflection.MethodInfo的Invoke方法來調(diào)用一個類型的實例方法。如: MethodInfo msayhello = ht.GetMethod(“SayHello“); /獲取SayHello方法 msayhello.Invoke(obj,null);/調(diào)用HelloWorld實例obj 的SayHello方法,委托,委托 委托技術(shù)是.NET引入的一種重要技術(shù),使用委托可以實現(xiàn)對象行為的動態(tài)綁定,從而提高設(shè)計的靈活性。 .NET運行庫支持稱為“委托”的引用類型,其作用類似于C+中的函數(shù)指針。 所有委托都從System.Delegate繼承而來并且有一個調(diào)用列表,這是在調(diào)用委托時所執(zhí)行方法的一個鏈接列表。 可以使用的委托Cimbine及Remove方法在其調(diào)用列表中添加和移除方法。若要調(diào)用委托,可使用Invoke方法,或者使用BeginInvoke和EndInvoke方法異步調(diào)用委托。委托類的實現(xiàn)由運行庫提供,而不由用戶代碼提供。,委托,委托適用于那種在某些語言中需要用函數(shù)指針來解決的情況,但是與函數(shù)指針不同,它是面向?qū)ο蠛皖愋桶踩摹?委托聲明定義一個類,它是從System.Delegate類派生的類。委托實例封裝了一個調(diào)用列表,其中列出了一個或多個方法,每個方法稱為一個可調(diào)用實體。 委托實例的一個有用的屬性是它既不知道,也不關(guān)心其封裝方法所屬類的詳細信息,對它來說最重要的是這些方法與該委托的類型兼容。 定義和使用委托分為聲明、實例化和調(diào)用3個步驟。,.NET委托聲明及特點,1) 通用事件處理者委托 delegate void EventHandler (object sender, EventArgs e) 2) 計算1k+2k+nk的委托 delegate int PowerSum(int n) 3) 特點:不需要定義成員 4) 基類:MulticastDelegate、Delegate,委托應(yīng)用:函數(shù)回調(diào)(Callback),定時器類型 System.Threading.Timer() System.Threading.TimerCallback(object obj) / 委托 定時回調(diào) TimerCallback cb = new TimeCallback(TimeClick); Timer timer = new Timer(cb, null, 0, 500); void TimeClick(object state) Console.WriteLine(“time click”); ,匿名委托、委托推斷與泛型委托,匿名委托:在委托()中內(nèi)聯(lián)方式創(chuàng)建方法 TimerCallBack cb = new TimerCallback ( delegate(object state) Console.WriteLine(“time click”); ); 委托推斷:不創(chuàng)建委托對象,直接調(diào)用函數(shù) 泛型委托:委托是類,同樣可以有泛型,事件,事件 事件是類在發(fā)生其關(guān)注的事情時用來提供通知的一種方式。 事件具有以下特點: 事件是用來通知對象需要執(zhí)行某種操作的方式。 事件通常用在圖形用戶界面中。 事件通常使用委托事件處理程序進行聲明。 事件可以調(diào)用匿名方法來替代委托。,使用事件,使用事件步驟是:聲明事件委托類型定義、引發(fā)事件類定義和接受事件類訂閱事件。 聲明事件委托類型 事件和方法一樣具有簽名,簽名包括名稱和參數(shù)列表。事件的簽名通過委托類型來定義,因此首先為事件聲明一個委托,如: public delegate void ChangedEventHandler(object sender, EventArgs e); 在事件發(fā)送類中添加事件,需要使用event關(guān)鍵字,并提供委托類型和事件名稱。例如: public event ChangedEventHandler Changed;,使用事件,引發(fā)事件類定義 若要引發(fā)事件,類可以調(diào)用委托,并傳遞所有與事件有關(guān)的參數(shù)。然后,委托調(diào)用已添加到該事件的所有處理程序。例如下面代碼中:Changed(this, e);,使用事件,public class ListWithChangedEvent : ArrayList/一個每次列表更改時發(fā)送通知的類 / 事件,每當(dāng)列表元素更改時,客戶端可利用該事件獲得通知。 public event ChangedEventHandler Changed; protected virtual void OnChanged(EventArgs e) /每當(dāng)列表更改時調(diào)用Changed事件 if (Changed != null) /確保該事件不為空 Changed(this, e); /調(diào)用Changed事件 / 重寫可更改列表的Add方法;在每個重寫后調(diào)用事件 public override int Add(object value) int i = base.Add(value); /調(diào)用基類ArrayList的Add方法 OnChanged(EventArgs.Empty); /觸發(fā)Changed事件 return i; ,訂閱事件,class EventListener private ListWithChangedEvent List; public EventListener(ListWithChangedEvent list) List = list; / 將“ListChanged”添加到“List”中的 Changed 事件。 List.Changed += new ChangedEventHandler(ListChanged); / 每當(dāng)列表更改時就會進行以下調(diào)用。 private void ListChanged(object sender, EventArgs e) Console.WriteLine(“事件觸發(fā)“); public void Detach() / 分離事件并刪除列表 List.Changed -= new ChangedEventHandler(ListChanged); List = null; ,使用事件,在類Test主函數(shù)Main()中創(chuàng)建引發(fā)事件類實例和接受事件類實例,代碼如下: class Test / 測試 ListWithChangedEvent 類。 public static void Main() / 創(chuàng)建新列表,引發(fā)事件類實例。 ListWithChangedEvent list = new ListWithChangedEvent(); / 創(chuàng)建一個類,用于偵聽列表的更改事件。 EventListener listener = new EventListener(list); list.Add(“item 1“);/ 在列表中添加項。觸發(fā)事件顯示“事件觸發(fā)“ listener.Detach();/ 分離事件,之后不再處理事件. list.Add(“item 2“);/ 在列表中添加項。不顯示“事件觸發(fā)“ ,.net各版本之間的區(qū)別,1.0 1.1 安全方面的升級; 自帶對ODBC Oracle的支持; 支持Ipv6 1.1 2.0 非.net應(yīng)用程序可管理.net應(yīng)用實例 大量API升級 2.0 3.0 WPF WCF(SOA支持的安全的WebService框架) WF CardSpace(SSO),.net各版本之間的區(qū)別 II,3.0 3.5 添加LINQ支持(用c#或者VB使用相同語法查詢DB/XML) 利用ASP.net Ajax創(chuàng)建更豐富的web交互 用于生成WCF服務(wù)的全新Web協(xié)議支持(Ajax json etc.) 類庫中升級新類 3.5 3.5SP1 (重要升級) ASP.NET動態(tài)數(shù)據(jù)和Ajax附加功能 對SQL Server 2008的數(shù)據(jù)提供程序支持 改進WPF性能 改進WCF相互操作性支持 4.0主要是增加了并行開發(fā)的支持,提供了獨立安全的企業(yè)開發(fā)平臺,版本關(guān)系圖,版本解析,根據(jù)版本的發(fā)布情況可得: .NET Framework 3.5 = 3.0 + 3.0sp1 .NET Framework 3.0 = 2.0 + 2.0sp1 + WPF + WCF + WF .NET Framework 1.0 1.1 2.0 彼此完全獨立 對于其中的任何一個版本來說,無論是否安裝其他版本,自己都可以獨立的存在 兼容性 具有高度的向后兼容性支持 只有1.1版本向后先前兼容,2.0版本不向前兼容 對于提高安全性、功能性的更改也可能會引發(fā)兼容問題,.NET Framework 1.1版本,1、ASP.NET移動控件 2、ADO.NET的改動 添加System.Data.Odbc命名空間 新增System.Data.OracleClient命名空間供Oracle使用 DataReader對象公開HasRows屬性,判斷是否有返回行 Connection對象具有EnlistDistributedTransaction,可以在分布式事務(wù)中啟動手動登記。 3、并發(fā)執(zhí)行 .NET Framework 1.1版本支持并行執(zhí)行。 4、.NET Framework安全性的改動 5、.NET Framework中的IPv6支持,.NET Framework 2.0版本,- 公共語言運行庫 (CLR)。 - 對泛型類型和方法的支持。 - 基類庫 - ADO.NET - ASP.NET - windows 窗體 - Web 服務(wù) - C#、Visual Basic、C+ 和 J# 的編譯器 - 64位平臺支持 - 訪問控制列表支持 - 緩存的編程空間 - FTP支持,CLR,CLR(公共語言運行庫)和java虛擬機一樣也是一個運行時環(huán)境,它負(fù)責(zé)資源管理(內(nèi)存分配和垃圾收集),并保證應(yīng)用和底層操作系統(tǒng)之間必要的分離。 CLR將監(jiān)視形形色色的常見編程錯誤,許多年來這些錯誤一直是軟件故障的主要根源,其中包括:訪問數(shù)組元素越界,訪問未分配的內(nèi)存空間,由于數(shù)據(jù)體積過大而導(dǎo)致的內(nèi)存溢出,等等。,對泛型類型和方法的支持,通過參數(shù)化類型來實現(xiàn)在同一份代碼上操作多種數(shù)據(jù)類型。泛型編程是一種編程范式,它利用“參數(shù)化類型”將類型抽象化,從而實現(xiàn)更為靈活的復(fù)用。 類型參數(shù)使得類和方法將一個或多個類型的指定推遲到聲明并實例化該類或方法的時候。,泛型,class MyStack private T store; private int size; public MyStack() store = new T10; size = 0; public void Push(T x) storesize+ = x; public T Pop() return store-size; class Test static public void Main() MyStack x = new MyStack(); x.Push(17); ,泛型概述,泛型的主要特點: 使用泛型類型可以最大限度地重用代碼、保護類型的安全以及提高性能。 泛型最常見的用途是創(chuàng)建集合類。 .NET框架類庫的System.Collections.Generic 命名空間包含新的泛型集合類如List 泛型類。 可以創(chuàng)建自己的泛型接口、泛型類、泛型方法、泛型事件和泛型委托。 關(guān)于泛型數(shù)據(jù)類型中使用的類型的信息可在運行時通過反射獲取。,基類庫,BCL(基類庫)代表了.NET框架的核心。不管人們開發(fā)何種應(yīng)用程序,BCL總是作為構(gòu)建其他所有功能的起點。核心基類庫的作用是完成框架的通用性開發(fā)而必須的基礎(chǔ)類和常用工具類等,包含有:Think.Core 核心類庫包;Think.Db 數(shù)據(jù)庫類庫包;Think.Exception 異常處理類庫包;Think.Template 內(nèi)置模板引擎類庫包;Think.Util 系統(tǒng)工具類庫包。,ADO.NET,ADO.NET是一組用于和數(shù)據(jù)源進行交互的面向?qū)ο箢悗?。ADO.NET允許和不同類型的數(shù)據(jù)源以及數(shù)據(jù)庫進行交互。 在ASP.NET應(yīng)用程序中可以使用ADO.NET來連接到這些數(shù)據(jù)源,并實現(xiàn)數(shù)據(jù)的檢索、添加、更新和刪除。,ADO.NET 對象模型,ADO.NET 對象模型,.NET Framework數(shù)據(jù)提供程序的核心對象,DataSet,使用 ADO.NET 訪問數(shù)據(jù),DataSet對象模型,DataSet對象是支持ADO.NET的斷開式、分布式數(shù)據(jù)方案的核心對象。它可以用于多個不同的數(shù)據(jù)源,可以用于XML數(shù)據(jù),也可以用于管理應(yīng)用程序本地的數(shù)據(jù)。DataSet表示包括相關(guān)表、約束和表間關(guān)系在內(nèi)的整個數(shù)據(jù)集。下圖描述了DataSet對象模型。,Connection對象概述,在ADO.NET中,使用以下Connection對象來創(chuàng)建和管理數(shù)據(jù)庫連接。 SqlConnection:用于管理與SQL Server 7.0版或更高版本的連接。 OleDbConnection:用于管理與可通過OLE DB訪問的任何數(shù)據(jù)存儲區(qū)的連接。 OdbcConnection:用于管理與通過使用連接字符串或ODBC數(shù)據(jù)源名稱(DSN)創(chuàng)建的數(shù)據(jù)源的連接。 OracleConnection:用于管理與Oracle數(shù)據(jù)庫的連接。 接Access數(shù)據(jù)庫: OleDbConnection objConnection=new OleDbConnection(strConnection); 連接SQL Server數(shù)據(jù)庫: SqlConnection objConnection=new SqlConnection(strConnection); 其中參數(shù)cnectionString給出用于打開數(shù)據(jù)庫的連接字符串。若未指定該參數(shù),則必須首先設(shè)置Connection對象的ConnectionString屬性,然后才能打開數(shù)據(jù)連接。,Command對象概述,Command類的構(gòu)造函數(shù): SqlCommand myCommand = new SqlCommand ( cmdText, conn ) myOleDbCommand myCommand = new OleDbCommand( cmdText, conn ) 其中參數(shù)cmdText給出查詢的文本。conn指定一個Connection對象,表示與指定數(shù)據(jù)庫的連接。 Command對象的常用屬性 CommandText CommandTimeout CommandType Connection Parameters Transaction UpdatedRowSource Command對象的常用方法 Cancel() CreateParameter() ExecuteReader() ExecuteScalar() Prepare() ResetCommandTimeout() ExecuteNonQuery 在Visual Studio .NET中,可以使用Command控件來創(chuàng)建命令對象,使用DataReader對象讀取數(shù)據(jù),創(chuàng)建DataReader對象 SqlDataReader reader = cmd.ExecuteReader(); OleDbDataReader reader=cmd.ExecuteReader(); DataReader對象的常用屬性 FieldCount HasRows IsClosed Item(index, name) RecordsAffected DataReader對象的常用方法 Close() GetBoolean( ordinal ) GetDataTypeName( index ) GetFieldType( index ) GetName( index ) GetOrdinal( name ) GetSchemaTable() GetValue( ordinal ) GetValues( values ) IsDBNull(ordinal) NextResult() Read(),DataAdapter 對象模型,使用DataAdapter對象訪問數(shù)據(jù),DataAdapter類的構(gòu)造函數(shù) SqlDataAdapter sda = new SqlDataAdapter() OleDbDataAdapter thisAdapter=new OleDbDataAdapter( selectCommandText, _ selectConnection); DataAdapter對象的主要屬性 DeleteCommand InsertCommand SelectCommand UpdateCommand DataAdapter對象的常用方法 Dispose() Fill( dataSet, srcTable ) DataAdapter的主要事件 FillError RowUpdated RowUpdating,ASP.NET,ASP 是一項微軟公司的技術(shù),是一種使嵌入網(wǎng)頁中的腳本可由因特網(wǎng)服務(wù)器執(zhí)行的服務(wù)器端腳本技術(shù)。 通用語言的基本庫,消息機制,數(shù)據(jù)接口的處理都能無縫的整合到ASP.net的Web應(yīng)用中。 ASP.NET 是一個已編譯的、基于 .NET 的環(huán)境,把基于通用語言的程序在服務(wù)器上運行。將程序在服務(wù)器端首次運行時進行編譯,且可以用任何與 .NET 兼容的語言(包括 VB.NET、C# 和 JScript .NET.)創(chuàng)作應(yīng)用程序。 ASP.NET 可以無縫地與 WYSIWYG HTML 編譯器和其他編程工具一起工作。這不僅使得 Web 開發(fā)更加方便,而且還能提供這些工具必須提供的所有優(yōu)點。,windows 窗體,簡單來說:winforms 和 的腳本都是基與c# winforms是做客戶端軟件, 是基與網(wǎng)絡(luò)開發(fā)的 Visual C#是微軟公司.Net FrameWork框架中的一個重要組成部分,也是微軟公司極力推薦的新一代程序開發(fā)語言。 .Net 為開發(fā)WinForm的應(yīng)用程序提供了豐富的Class Library(類庫)。,創(chuàng)建 WinForms應(yīng)用程序,基礎(chǔ)核心命名空間,提供了大量繪圖工具的訪問權(quán)限,ArrayList、BitArray、Hashtable、Stack、 StringCollection 和 StringTable 類,using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Text; using System.Windows.Forms; namespace WindowsApplication3 public partial class Form1 : Form public Form1() InitializeComponent(); ,提供了大量繪圖工具的訪問權(quán)限,基礎(chǔ)核心命名空間,ArrayList、BitArray、Hashtable、Stack、StringCollection 和 StringTable 類,大量窗體和控件,從 System.Windows.Forms.Form 派生,Visual Studio .NET 生成的代碼,創(chuàng)建 WinForms應(yīng)用程序,partial class Form1 / / 必需的設(shè)計器變量。 / private System.ComponentModel.IContainer components = null;,構(gòu)造函數(shù)調(diào)用 InitializeComponent() 方法,#region Windows 窗體設(shè)計器生成的代碼 / / 設(shè)計器支持所需的方法 - 不要 / 使用代碼編輯器修改此方法的內(nèi)容。 / private void InitializeComponent() this.SuspendLayout(); / / Form1 / this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F); this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; this.ClientSize = new System.Drawing.Size(333, 266); this.Name = “Form1“; this.Text = “Form1“; this.ResumeLayout(false); #endregion,項目的容器,創(chuàng)建 WinForms應(yīng)用程序,/ / 清理所有正在使用的資源。 / / 如果應(yīng)釋放托管資源,為 true;否則為 false。 protected override void Dispose(bool disposing) if (disposing ,釋放系統(tǒng)資源,創(chuàng)建 WinForms應(yīng)用程序,static class Program / / 應(yīng)用程序的主入口點。 / STAThread static void Main() Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault(false); Application.Run(new Form1(); ,程序的主入口點,Web 服務(wù),Web Service是微軟主推的一種跨平臺的分布式應(yīng)用程序。他使用SOAP協(xié)議通訊,用XML封裝數(shù)據(jù),所以是跨平臺的。任何客戶端只要按照WebService發(fā)布的格式發(fā)送數(shù)據(jù)就都可以得到結(jié)果。,Web Service的特點,Web Service可看成是一個可復(fù)用的Web應(yīng)用程序組件 Web Service是平臺無關(guān)的 Web Service是自說明的 可以使用一種統(tǒng)一的機制來在互聯(lián)網(wǎng)上查找Web Service,Web Service到底是如何“轉(zhuǎn)”起來的?,Web Service 駐留于Web Server中 使用UDDI機制查找符合要求的Web Service 網(wǎng)絡(luò)中的機器通過SOAP協(xié)議進行通訊,使用Web Service,跨網(wǎng)絡(luò)調(diào)用Web Service的內(nèi)部機理,所有這些工作,Visual Studio已幫助人們完成。,.NET Framework3.0,windows Presentation Foundation (WPF)。 提供更佳的用戶體驗,用來開發(fā)Windows Forms程序以及流覽器應(yīng)用程序 windows Communications Foundation (WCF)。 提供SOA(面向服務(wù)的軟件構(gòu)架)支持的安全的網(wǎng)絡(luò)服務(wù)(Web Service)框架。 windows Workflow Foundation (WF)。 提供一個設(shè)計與發(fā)展工作流程導(dǎo)向(Workflow-oriented)應(yīng)用程序基 礎(chǔ)支持的應(yīng)用程序接口。,.NET Framework 3.5,1 、 Ajax的支持 ScriptManager控件和UpdatePanel控件 .NET Framework 3.5 改進了對支持 AJAX 的網(wǎng)站的開發(fā)支持。ASP.NET 支持使用一組新的服務(wù)器控件和 API 進行以服務(wù)器為中心的 AJAX 開發(fā)。 (API) Microsoft Ajax Library ASP.NET 還支持使用名為 Microsoft AJAX Library 的新客戶端庫進行以客戶端為中心的 AJAX 開發(fā)。,.NET Framework 3.5

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論