Presentation is loading. Please wait.

Presentation is loading. Please wait.

Asp.net 基礎.

Similar presentations


Presentation on theme: "Asp.net 基礎."— Presentation transcript:

1 Asp.net 基礎

2 環境面 .net Framework for Windows/Linux…. Version(並存安裝)
1.0->1.1->2.0->3.0->3.5 基礎需要2.0 ADO.NET 3.5 LINQ(整合查詢) XML(DOM) Object SQL 資料庫 Visual Studio .net 2003 Visual Studio .net 2008 (可以開發任何版本) Visual Studio .net 2005 Asp.net 3.5 大部分使用2.0版本

3 .NET Framework 軟體工程 Procedures->Modules(模組)
Function Library(API) Application Programming interface Class Library(API) Framework(Template->含一些應用系統專屬類別庫含入)往往配合IDE(視覺化開發工具) 核心類別庫 Mscorlib.dll

4 IIS Application Prgramming Interface)
Asp.net網站應用系統 不是程式語言(是架構) 使用25種語言撰寫(VB C#.....) Web Server IIS 6.0/7.0 HTTP Listener 開發機器 XP… Visual Studio.net 模擬網站執行 (Processing採用開機帳戶) ISAPI.DLL IIS Application Prgramming Interface) Site 站台 aspnet_isapi.dll Asp.net引擎 應用系統Pooling Network service Web Application Asp.net Integrated Security SQL Server

5 Asp.net Web Application需要?
類別庫因應(預設) Mscorlib.dll System.dll System.Data.dll(for SQL Server /ODBC/OleDb) System.Xml.dll 畫面 System.Web.dll(包含通訊協定底層)

6 組態配置檔(Descriptor Deploy)
Web Application 參考類別庫? 機器 組態配置檔(Descriptor Deploy) Web.Config XML(Element) 名稱服務 Web Application Web.config bin Class Library (共用 GAC) xxx.dll folder 不會去描述 Class Library (私用) Web.config 外掛一些類別庫 公用(GAC Global assembly Cache) Sub Web Application Web.config

7 <Form runat=“server” id=“form1”>
Asp.net Runtime 環境 xxx.Aspx 採用XHTML Web Form <Form runat=“server” id=“form1”> …. </form> 不是一般標籤 他是程式(會轉譯C# or VB) 是一個物件(類別來源建構) 指定變數參考該物件 id=“” RUN(轉譯) Source C# Asp.net cache (Persistence) Request Processing IIS Web Server Processing 編譯 Assembly(xxx.dll) 應用系統集區 Web1 Web2 使用者提出 Out Process Write Network service IIS_WPG 成員

8 動態網頁 Web Form(xxx.aspx) Web Controls <form runat=“server” id=“”>
控制項(UI) Class System.Web.UI.HtmlControls Namespace System.Web.dll System.Web.UI.WebControls Namepsace xxxxx Class Class Property <asp:TextBox xxxx=“值” Attribute

9 Page View State 網際網路是一種非狀態管理系統Stateless 畫面持續(View State) Machine key
Server Postback 瀏覽器 第一次Request(採用GET) page Response(HTML) ViewState 叢集伺服器 Machine key Server Asp.net永遠只指向自己執行(?) 2.0 Page指向不要寫action Asp.net 3.0 可以指向其他網頁… page

10 Server Side Scripting Scripting 區分為Client Side與Server Side JavaScript
新技術規範 Browser –Plug-in SilverLight 2.0(前端執行C# or VB) VB C#(物件導向程式) 存取後端Data Source Page Preinit Page Load …Button Click事件 瀏覽器 Raise(引發-按鈕Click) 3.0 Handler聆聽 Post (HTTP)

11 後端事件程序,Page架構? 具有兩種 Xxx.aspx(網頁就是標籤) In-Line 寫法
Xxx.aspx.vb (Code File-事件程序)—這些xxx.aspx.vb(s)事前編譯一個xxxx.dll放置在bin資料夾中 優勢 事前編譯->保留Source安全性 缺點 改一行重新編譯重新置放(?)----網站的重大修改 In-Line 寫法 Code與網頁同一個檔案 會瞬間放掉網站所有伺服器端 的狀態管理 Session(In Process)

12 Web Control前端事件? Client Side JavaScript
<asp:xxxx runat=server id=xxxx Onxxx=“javascript function”/> 後端…. 一律為後端事件

13 Web Control能否自訂一些Attribute
<asp:Button….> 前端<input type=“submit” flag=“1”…/> 網頁被請求那一個點(掌握成員)上進行事件 自訂 Stateless非狀態管理 Load Event 判斷是否為Postback

14 四個按鈕是一組 每一個按鈕寫上一個Click Event Procedure(?) Click Delegate
Function Pointer

15 ADO.NET 高階寫法 使用標籤 SqlDataSource(直接存取資料庫) xxConnection物件 xxCommand物件
xxDataReader物件 xxDataAdapter物件 DataSet(離線)

16 控制項(單一 TextBox…Button)
SqlDataSource(沒有畫面) ConnectionString=“” 名稱 Web.config 名稱? 資料繫結(Data Binding) 連接字串 控制項(單一 TextBox…Button) 清單控制項(xxxList) xxxView控制項 DataSourceID=

17 動態查詢 同一個動態網頁具有查詢介面同時輸出查詢結果 控制項 TextBox(國家別) SqlDataSource Event

18 資料維護 同步處理(既定模式) 好一點採用非同步Ajax

19 Web Application Error Handling
鋪畫面? .net framework Web Application Listener Dispatcher Apperrorcenter.aspx xxx.Aspx (Page Level) Constraints xxx.Aspx (Page Level) xxx.Aspx (Page Level) Out Side HttpContext HttpContext

20


Download ppt "Asp.net 基礎."

Similar presentations


Ads by Google