Chapter 01 Chapter 02epaper.gotop.com.tw/pdf/CMS101400.pdf · 98-363 1-2 MTA Exam...

34
i 目錄 目錄 Chapter 01 網站研發工程師核心能力認證 1-1 MTA 微軟國際認證介紹 ......................................................... 1-2 1-2 認證科目 ................................................................................. 1-4 1-3 重點問題摘錄 ......................................................................... 1-6 1-4 網站研發工程師核心能力認證 .............................................. 1-11 Chapter 02 開發網頁應用程式 2-1 VWD 開發環境簡介 ................................................................ 2-2 2-2 網頁的版面安排 ...................................................................... 2-4 2-3 基本控制項 ............................................................................. 2-9 2-4 狀態管理 ............................................................................... 2-20 2-5 事件處理 ............................................................................... 2-26 2-6 進階控制項 ........................................................................... 2-29 2-7 Web 組態設定檔 ................................................................... 2-34 本章習題 ........................................................................................ 2-39 Chapter 03 資料與網路服務 3-1 讀寫 XML 資料....................................................................... 3-2 3-2 比較 DataSet DataReader 物件............................................ 3-4 3-3 從網頁呼叫 service ................................................................. 3-5 3-4 熟悉資料來源 ....................................................................... 3-17 3-5 資料繫結控制項 .................................................................... 3-20 3-6 使用資料來源控制項 ............................................................. 3-27 3-7 SQL Server 資料庫補充.......................................................... 3-31 本章習題 ........................................................................................ 3-32 Chapter 04 偵錯與例外處理 4-1 網頁應用程式的除錯 ............................................................... 4-2 4-2 例外處理 ................................................................................. 4-5 本章習題 ........................................................................................ 4-14

Transcript of Chapter 01 Chapter 02epaper.gotop.com.tw/pdf/CMS101400.pdf · 98-363 1-2 MTA Exam...

Page 1: Chapter 01 Chapter 02epaper.gotop.com.tw/pdf/CMS101400.pdf · 98-363 1-2 MTA Exam 網站研發認證實戰寶典(C#) 1. Microsoft Technology Associate(MTA )國際認證由 Microsoft

i

目錄

目錄

Chapter 01 網站研發工程師核心能力認證

1-1 MTA微軟國際認證介紹 ......................................................... 1-2 1-2 認證科目 ................................................................................. 1-4 1-3 重點問題摘錄 ......................................................................... 1-6 1-4 網站研發工程師核心能力認證 .............................................. 1-11

Chapter 02 開發網頁應用程式

2-1 VWD開發環境簡介 ................................................................ 2-2 2-2 網頁的版面安排 ...................................................................... 2-4 2-3 基本控制項 ............................................................................. 2-9 2-4 狀態管理 ............................................................................... 2-20 2-5 事件處理 ............................................................................... 2-26 2-6 進階控制項 ........................................................................... 2-29 2-7 Web 組態設定檔 ................................................................... 2-34 本章習題 ........................................................................................ 2-39

Chapter 03 資料與網路服務

3-1 讀寫 XML 資料....................................................................... 3-2 3-2 比較 DataSet 和 DataReader 物件............................................ 3-4 3-3 從網頁呼叫 service ................................................................. 3-5 3-4 熟悉資料來源 ....................................................................... 3-17 3-5 資料繫結控制項 .................................................................... 3-20 3-6 使用資料來源控制項 ............................................................. 3-27 3-7 SQL Server資料庫補充.......................................................... 3-31 本章習題 ........................................................................................ 3-32

Chapter 04 偵錯與例外處理

4-1 網頁應用程式的除錯 ............................................................... 4-2 4-2 例外處理 ................................................................................. 4-5 本章習題 ........................................................................................ 4-14

Page 2: Chapter 01 Chapter 02epaper.gotop.com.tw/pdf/CMS101400.pdf · 98-363 1-2 MTA Exam 網站研發認證實戰寶典(C#) 1. Microsoft Technology Associate(MTA )國際認證由 Microsoft

i i

MTA Exam 98-363 網站研發認證實戰寶典(C#)

Chapter 05 使用者端指令應用

5-1 使用者端指令 ......................................................................... 5-2 5-2 AJAX 概念 ............................................................................. 5-7 本章習題 ........................................................................................ 5-16

Chapter 06 設定與部署網站應用程式

6-1 驗證與授權 ............................................................................. 6-2 6-2 專案的相關設定 ...................................................................... 6-6 6-3 部署網站應用程式 ................................................................ 6-12 6-4 應用程式集區 ....................................................................... 6-16 本章習題 ........................................................................................ 6-18

Chapter 07 MTA 認證模擬試題

7-1 模擬試題一 ............................................................................. 7-2 7-2 模擬試題二 ........................................................................... 7-13 7-3 模擬試題三 ........................................................................... 7-25 7-4 模擬試題四 ........................................................................... 7-35 7-5 模擬試題五 ........................................................................... 7-46 7-6 模擬試題六 ........................................................................... 7-57 7-7 模擬試題七 ........................................................................... 7-68 7-8 模擬試題八 ........................................................................... 7-79 7-9 模擬試題九 ........................................................................... 7-91 7-10 模擬試題十 ......................................................................... 7-102

附錄 詞彙整理

Page 3: Chapter 01 Chapter 02epaper.gotop.com.tw/pdf/CMS101400.pdf · 98-363 1-2 MTA Exam 網站研發認證實戰寶典(C#) 1. Microsoft Technology Associate(MTA )國際認證由 Microsoft

網站研發工程師 核心能力認證 (Web Developer Fundamentals)

1-1 MTA 微軟國際認證介紹

1-2 認證科目

1-3 重點問題摘錄

1-4 網站研發工程師核心能力認證

01

Page 4: Chapter 01 Chapter 02epaper.gotop.com.tw/pdf/CMS101400.pdf · 98-363 1-2 MTA Exam 網站研發認證實戰寶典(C#) 1. Microsoft Technology Associate(MTA )國際認證由 Microsoft

1 -2

MTA Exam 98-363 網站研發認證實戰寶典(C#)

1. Microsoft Technology Associate ( MTA ) 國 際 認 證 由

Microsoft 與知名國際認證機構 Certiport 合作推出,共有 19 種

語言,通行 128 個國家。

2. MTA 是培養 IT 專業人員及程式開發人員知識基礎,亦是獲得

Microsoft 認可的技術專家證照的跳板。

3. 專業社群-讓學生,有機會與超過五百萬位 MCP 會員的專業

人士交流。

證照優勢

1. MTA 核心認證,將可減少未來五到十年 IT 工作類群,40%人

力資源缺口的專業技能。

2. 由原廠 Microsoft 核發之國際證書。

3. 人力銀行網站調查,最受歡迎的技能。

證照級別

以理解 IT 核心知識及核心技能之應用為認證之目標。

MTA微軟國際認證介紹 1-1

Page 5: Chapter 01 Chapter 02epaper.gotop.com.tw/pdf/CMS101400.pdf · 98-363 1-2 MTA Exam 網站研發認證實戰寶典(C#) 1. Microsoft Technology Associate(MTA )國際認證由 Microsoft

1 -3

網站研發工程師核心能力認證

考試方式

1. 各科均為中文考題,採線上即測即評方式,並立即產生成績

報告。

2. 考試的核心能力範圍,涵蓋 80%資訊專業知識與 20%的技能。

3. 考試時間:45 Min / 單、複選擇題共 35 題。

4. 通過認證:滿分 100 分,合格分數為 70 分。

5. MTA 國際認證證書,有效期限為五年。

Page 6: Chapter 01 Chapter 02epaper.gotop.com.tw/pdf/CMS101400.pdf · 98-363 1-2 MTA Exam 網站研發認證實戰寶典(C#) 1. Microsoft Technology Associate(MTA )國際認證由 Microsoft

1 -4

MTA Exam 98-363 網站研發認證實戰寶典(C#)

MTA 國際認證考試涵蓋三大資訊領域,七大核心科目

系統研發工程師(Developers)考試科目

軟體研發工程師核心能力(Software Developer Fundamentals, 98-361)

認證 內容

軟體研發知識與技術、程式設計知識

與技術、物件導向程式設計、網頁應

用程式研發、桌上應用程式研發、資

料庫

適用 軟體

Visual Studio 2008(VB/C#)

視窗研發工程師核心能力(Windows Developer Fundamentals, 98-362)

認證 內容

視窗程式設計原理、視窗表單應用程

式、建立 WPF 應用程式、視窗服務應用程式、視窗表單程式資料存取、

發佈視窗應用軟體

適用 軟體

Visual Studio 2008

網站研發工程師核心能力(Web Developer Fundamentals, 98-363)

認證 內容

網頁應用程式的研發、資料與服務的

運作、客戶端程式碼的運作、網頁程

式發佈/設定、網頁應用程式的維護與問題解決

適用 軟體

Visual Studio 2008(VB/C#)

資料庫管理師(Database)考試科目

資料庫管理師核心能力(Database Administration Fundamentals, 98-364)

認證 內容

資料庫的核心觀念、建立資料庫物

件、處理資料(Manipulating data)、資料儲存的方式、管理資料庫

適用 軟體

SQL Server 2008

認證科目 1-2

Page 7: Chapter 01 Chapter 02epaper.gotop.com.tw/pdf/CMS101400.pdf · 98-363 1-2 MTA Exam 網站研發認證實戰寶典(C#) 1. Microsoft Technology Associate(MTA )國際認證由 Microsoft

1 -5

網站研發工程師核心能力認證

資訊技術專業工程師(IT Professionals)考試科目

伺服器管理工程師核心能力

(Windows Server Administration Fundamentals, 98-365)

認證 內容

伺服器安裝方法、伺服器的功能角

色、Active Directory、儲存裝置、伺服器效能管理、伺服器維護

適用 軟體

Windows Serve 2008

網路管理與應用工程師核心能力(Networking Fundamentals, 98-366)

認證 內容

網路核心能力建立、網路硬體、網

路協定與服務 適用 軟體

Windows Server 2008

網路安全管理師核心能力(Security Fundamentals, 98-367)

認證 內容

安全層次、作業系統安全、網路安

全、安全軟體 適用 軟體

Windows Server 2008

Page 8: Chapter 01 Chapter 02epaper.gotop.com.tw/pdf/CMS101400.pdf · 98-363 1-2 MTA Exam 網站研發認證實戰寶典(C#) 1. Microsoft Technology Associate(MTA )國際認證由 Microsoft

1 -6

MTA Exam 98-363 網站研發認證實戰寶典(C#)

Q: 通過 MTA 國際認證有什麼好處?

A: 獲取 MTA 國際認證是邁向微軟認可的技術專家(MCTS)的第一

步,擁有一張 MTA 國際認證,即可成為「微軟合格專業社群」的

一員;可以擁有會員獨享的優惠利益,如特定的提案內容、成績

工具、新聞群組服務、找到同好的協助,以及與全世界數以百萬

計的 MCP 成員分享經驗。

Q: 要取得 MTA 國際認證需要通過多少科考試?

A: 只要通過一個考試科目,就可以獲取一張 MTA 國際認證。

Q: 如果通過一科以上的 MTA 國際認證考試以後呢?

A: 通過 MTA 國際認證後,建議繼續成為微軟認證的技術專家

MCTS,讓資訊職涯更上一層樓。

Q: MTA 國際認證的重考政策是?

A: MTA 國際認證的重考政策與微軟的技術/專業認證系列是一致的,

學校若是有簽訂 MTA 校園授權方案,可於授權範圍內自行決定。

Q: 我可以獲得哪些教學資源來準備 MTA 國際認證考試?

A: (1) 請上網查閱 MTA 國際認證考試準備指南一覽表及學習路徑

http://www.microsoft.com/learning/en/us/certification/ mta.aspx#certification

(2) 購買 MTA 校園授權者,會提供 MTA 國際認證考試教學資源

套件(ERKs)

(3) 若您是教師,可在微軟教師聯繫網站上獲得額外資源

http://www.microsoft.com/education/facultyconnection/ default.aspx?c1=en-us&c2=0

重點問題摘錄 1-3

Page 9: Chapter 01 Chapter 02epaper.gotop.com.tw/pdf/CMS101400.pdf · 98-363 1-2 MTA Exam 網站研發認證實戰寶典(C#) 1. Microsoft Technology Associate(MTA )國際認證由 Microsoft

1 -7

網站研發工程師核心能力認證

Q: 可以在哪裡考 MTA 國際認證考試?

A: MTA 國際認證考試,目前僅提供給學術機構的學生與教職員。如

果您的學校已經登記為 Certiport 的 MTA 考試中心,且註冊通過

成為 MTA 國際認證考試的監考或是管理身分,則學校老師或是監

考人員(proctor)可依規範隨時安排 MTA 考試。

如果您的學校尚未註冊為 MTA 國際認證考試的的監考或是管理身

分,學校的科系主管或是老師,可以聯繫「碁峰資訊股份有限公

司的 MTA 服務人員」,詢問關於實施 MTA 申請考場或是認證考

試的細節。

Q: 每一個認證考試科目有多少題目?

A: MTA 國際認證每科考試題目約 35 題。

Q: 考試時間有多長?

A: 考試時間是 45 分鐘。

Q: 什麼時後會收到考試結果?

A: 線上考試完成後,馬上就可看分數與考試結果,考生也可登入

www.certiport.com 查看分數報告。

Q: 通過考試後,考生如何拿到 MTA 國際認證的證書?

A: 目前 MTA 是沒有提供紙張證書,僅能透過網路線上下載取得電子

證書(E-certificate),您可以在「微軟認證專業網站」下載任何

您 的 微 軟 證 照 。 造 訪 「 微 軟 認 證 專 業 網 站 」

http://mcp.microsoft.com/ ;登入這個網站需要您的 Windows Live 帳號與您的微軟認證帳號連結。

Page 10: Chapter 01 Chapter 02epaper.gotop.com.tw/pdf/CMS101400.pdf · 98-363 1-2 MTA Exam 網站研發認證實戰寶典(C#) 1. Microsoft Technology Associate(MTA )國際認證由 Microsoft

1 -8

MTA Exam 98-363 網站研發認證實戰寶典(C#)

Q: 考生可以在哪裡取得認證的成績報告?

A: 任何微軟證照成績報告均可以在「微軟認證專業網站」查看。登

入這個網站需要 Windows Live 帳號與微軟認證帳號做連結,才能

查看成績報告。如果是透過 Certiport 考試的科目,亦可以在

Certiport 網站查詢到您的成績單。

Q: 如何將微軟認證帳號跟我的 Windows Live 帳號連結在一起?

A: 在通過微軟認證的第一科,考生將會收到一封 email 通知考生的

微軟認證帳號,同時會有詳細說明指示如何操作與 Windows Live 帳號進行連結。必須完成兩個帳號連結手續,才能登入微軟認證

專業網站(http://mcp.microsoft.com/)。

如果有疑問,請打臺灣微軟客服中心:0800-008833

Q: MTA 國際認證考試的語言有中文嗎?

A: 有的,MTA 國際認證考試已提供繁體中文試題,並已經正式上線。

Q: MTA 國際認證考試分數的計算方式?

A: 所有 MTA 國際認證考試的評量通過分數是 70 分。一個常見的誤

解是考生以為必須回答所有題目的 70%正確才能通過;然而,正

確的百分比是隨認證科目不同而有所不同,可能高或低於 70%。

當您完成考試,您回答正確的題數會與門檻分數比較後,判斷出

考試結果通過與否。

Page 11: Chapter 01 Chapter 02epaper.gotop.com.tw/pdf/CMS101400.pdf · 98-363 1-2 MTA Exam 網站研發認證實戰寶典(C#) 1. Microsoft Technology Associate(MTA )國際認證由 Microsoft

1 -9

網站研發工程師核心能力認證

Q: MTA 考試分數如何計算?

A: (1) 沒有倒扣;任何題目答錯就沒有分數,並不會倒扣。

(2) 複選題題目,您需要完全選對所有答案,才能獲得該題分數;

只有答對部分是無法獲取分數。

(3) 有些題目並未納入分數計算的範圍;為了收集資料改善考試的

品質,我們會放些新的內容讓考生試做,這些題目並不會納入

最後計分的範圍。

Q: 如何解讀分數報告?

A: 所有 MTA 國際認證考試滿分為 100 分,設定及格分數為 70 分;

高於 70 分則通過考試,低於 70 分則不通過。成績報告上之直條

圖,將說明該科內每個項目的對應成績;直條圖愈長,表示您在

這個項目的表現成績愈好。請考生登入 www.certiport.com 查看

分數報告。

Q: 每一題目的比重相同嗎?

A: 每個題目、項目或模擬都是一樣的比重,不管您有沒有回答這個

題目。

Q: 猜錯會有倒扣嗎?

A: 沒有,答錯題不會扣分。如果您的答案是錯的,只是無法獲得分

數而已。

Q: 某個單元我成績是零分,有可能嗎?

A: 每一單元的題數是由各專業科目的主題式命題專家群所決定的;

因此,有些科目的題數會比其他科目多。當一個科目的題數較少

時,就很有機會得到零分。

Page 12: Chapter 01 Chapter 02epaper.gotop.com.tw/pdf/CMS101400.pdf · 98-363 1-2 MTA Exam 網站研發認證實戰寶典(C#) 1. Microsoft Technology Associate(MTA )國際認證由 Microsoft

1 -10

MTA Exam 98-363 網站研發認證實戰寶典(C#)

Q: MTA 國際認證與 Cisco 認證有何不同?

A: Cisco CCNA 僅提供初級認證給想要成為網路技術人員者,Cisco以這些技術人員,在網路學習或相關工作經驗的前三年,作為檢

定專業程度,而非評量其核心或基礎概念;再者,Cisco 考試沒有

對應任何平台,僅將重點放在 Cisco 網路設備。除此之外,Cisco並沒有提供校園授權認證服務方案,學生必須在任何 Pearson VUE 測驗中心進行認證考試。Cisco 考試費用約 250 元美金,比

MTA 國際認證要貴,尤其與 MTA 校園授權方案所收取的費用比

較,Cisco 認證費用就更高了。

Q: 為何微軟要推薦一個與 CompTIA 類似的認證?

A: 一直以來微軟認可 CompTIA 認證,並建議初學者以此選考科目

協助其準備微軟後續的專業認證,例如 MCSE ( Microsoft Certified Systems Engineer ) 及 MCSA ( Microsoft Certified Systems Administrator)證照。然而,學校單位反應需要一個微軟

重要基礎性的核心認證作為通往 MCTS 的直接管道,可以讓學

生,有一個清楚的規劃路徑;此外,學術機構需要較經濟且容易

在教室操作的國際認證。這就是為何微軟導入 MTA 國際認證,此

認證專為學校、教師及學生的教育訓練與認證需求,所設計的 IT專業技能的核心課程與評量標準。

Page 13: Chapter 01 Chapter 02epaper.gotop.com.tw/pdf/CMS101400.pdf · 98-363 1-2 MTA Exam 網站研發認證實戰寶典(C#) 1. Microsoft Technology Associate(MTA )國際認證由 Microsoft

1 -11

網站研發工程師核心能力認證

認證內容:網頁應用程式的研發、資料與服務的運作、客戶端程

式碼的運作、網頁程式發佈 /設定、網頁應用程式的維護與問題

解決。

網站研發工程師核心能力(Web Developer Fundamentals, 98-363)

認證

內容

網頁應用程式的研發、資料與服務的運

作、客戶端程式碼的運作、網頁程式發

佈/設定、網頁應用程式的維護與問題解決。

適用

軟體

Visual Studio 2008

(VB/C#)

MTA 協助學校老師教學與確認學生應具備的網路管理技術與知

識,提供學生面對未來職涯所需要具備的基本能力,以及增加繼續升

學研究的自信心。

MTA 提供學校創新精神的技術課,讓學生有機會在校即可獲取 Microsoft 國際證照的機會。

IDC 調查未來五到十年 MTA 國際認證將可減少 40%IT 職務的缺

口,也是人力銀行網站調查最受歡迎的工作技能,無論是資訊相關科

系的老師與學生或程式設計人員、電腦遊戲設計師、作業系統人員、

教育工作者、電子商務等工作族群,通過 MTA 認證,將是取得 IT 職

務的最佳捷徑。

網路時代,全球無國界,考一張已翻譯成 19 種語言,通行 128 個

國家的國際級證照,為自己加分,更可以為未來取得更多競爭優勢,

準備 MTA 網站研發工程師核心能力證照,是一個好的開始。

資料來源: http://www.microsoft.com/taiwan

http://www.gotop.com.tw

網站研發工程師核心能力認證 1-4

Page 14: Chapter 01 Chapter 02epaper.gotop.com.tw/pdf/CMS101400.pdf · 98-363 1-2 MTA Exam 網站研發認證實戰寶典(C#) 1. Microsoft Technology Associate(MTA )國際認證由 Microsoft

資料與網路服務

3-1 讀寫 XML 資料

3-2 比較 DataSet 和 DataReader 物件

3-3 從網頁呼叫 service

3-4 熟悉資料來源

3-5 資料繫結控制項

3-6 使用資料來源控制項

3-7 SQL Server 資料庫補充

03

Page 15: Chapter 01 Chapter 02epaper.gotop.com.tw/pdf/CMS101400.pdf · 98-363 1-2 MTA Exam 網站研發認證實戰寶典(C#) 1. Microsoft Technology Associate(MTA )國際認證由 Microsoft

3 -2

MTA Exam 98-363 網站研發認證實戰寶典(C#)

可延伸標記語言(Extensible Markup Language, XML)讓使用者可

以根據需要自行建立標籤,讓網頁更具可讀性。以下是我們自行建立

的標籤,

<?xml version="1.0"?>

<PersonData>

< People ID="001">

<Name>Charley</Name>

<Age>30</Age>

<Height>160</Height>

</People>

</PersonData>

XML 標籤的命名規則如下:

區分大小寫

以字母或底線開頭

可包含字母、數字、連字號、底線和句點。(不包含空白!)

XML 標籤是成對的,有開始標籤,必定有結束標籤。開始標

籤與結束標籤之間可存放資料。

讀寫 XML 資料 3-1

Page 16: Chapter 01 Chapter 02epaper.gotop.com.tw/pdf/CMS101400.pdf · 98-363 1-2 MTA Exam 網站研發認證實戰寶典(C#) 1. Microsoft Technology Associate(MTA )國際認證由 Microsoft

3 -3

資料與網路服務

有些字元可能使 XML 剖析器錯誤解譯文件結構時,請使用實

體 參 考 (Entity Reference) 。 例 如 You&Me , 可 寫 成

You&amp;Me;b>c,可寫成 b&gt;c。

字元 實體參考

< (小於) &lt;

> (大於) &gt;

& (連字號) &amp;

' (單引號) &apos;

" (雙引號) &quot;

資料來源: http://msdn.microsoft.com/zh-tw/library/ms256190.aspx

Page 17: Chapter 01 Chapter 02epaper.gotop.com.tw/pdf/CMS101400.pdf · 98-363 1-2 MTA Exam 網站研發認證實戰寶典(C#) 1. Microsoft Technology Associate(MTA )國際認證由 Microsoft

3 -4

MTA Exam 98-363 網站研發認證實戰寶典(C#)

DataReader

適用資料筆數龐大,效率高、速度快

順向:只能順向讀取資料,無法逆向,所以不支援分頁

唯讀:資料是唯讀的,不能更新資料庫

DataSet

較耗資源:會建立資料庫快取,存放在主機的記憶體中

但功能強大,支援快取、分頁與動態排序

配合 WriteXml 將資料表序列化(Serialization),可離線處理

資料

兩者沒有絕對的好壞,視需求和時機來判斷何時用DataReader或 DataSet。

DataSourceMode 屬性 優點 缺點

DataReader 較快速 不支援快取、分頁與動

態排序

DataSet 支援快取、分頁與動態

排序 速度較慢

比較 DataSet 和 DataReader 物件 3-2

Page 18: Chapter 01 Chapter 02epaper.gotop.com.tw/pdf/CMS101400.pdf · 98-363 1-2 MTA Exam 網站研發認證實戰寶典(C#) 1. Microsoft Technology Associate(MTA )國際認證由 Microsoft

3 -5

資料與網路服務

服務(service)

是以 XML 格式將資料傳回的應用程式

參與的有服務提供者(Service Provider)與服務需求者(Service Requester)

但需求者怎麼認識提供者呢?透過服務仲介者(Service Broker)

SOA(Service-Oriented Architecture, 服務導向架構)

服務仲介者(Service Broker)、服務提供者(Service Provider)、與服務需求者(Service Requester)。

服務提供者在服務仲介者登記提供的服務(註冊服務)。

服務需求者在服務仲介者中找到需要的服務,並且找到服務提

供的方法、傳遞的參數、與回傳的參數(發現服務)。

服務需求者透過 SOAP 訊息呼叫服務;服務提供者認證服務需

求者擁有服務使用的權限之後,處理服務需求者的請求,並將

執行結果透過 SOAP 傳回給服務需求者進行處理(呼叫服務)。

1. 網路服務著重於這一段。

2. 微軟提供 ASP.NET Web Service 與 WCF 等技術實作出網

路服務,一般都先設計服務提供者,接著設計服務需求者

試著呼叫設計的服務。

從網頁呼叫 service 3-3

Page 19: Chapter 01 Chapter 02epaper.gotop.com.tw/pdf/CMS101400.pdf · 98-363 1-2 MTA Exam 網站研發認證實戰寶典(C#) 1. Microsoft Technology Associate(MTA )國際認證由 Microsoft

3 -6

MTA Exam 98-363 網站研發認證實戰寶典(C#)

SOAP (Simple Object Access Protocol, 簡單物件存取協定)

SOAP 是 XML 格式。

服務提供者與服務需求者透過 SOAP 傳遞訊息。

ASP.NET Web Service

服務的通訊透過 SOAP。

將 WebMethod 屬性套用至公用方法稱為 Web 服務方法。

1. 可透過網路服務提供服務需求者呼叫。

2. 沒有 WebMethod 屬性的方法無法提供服務需求者呼叫,只

能夠提供相同服務(類別)的方法呼叫。

服務仲介者 (Service Broker)

服務需求者 (Service Requester)

服務提供者 (Service Provider) 呼叫

發掘 登記

Page 20: Chapter 01 Chapter 02epaper.gotop.com.tw/pdf/CMS101400.pdf · 98-363 1-2 MTA Exam 網站研發認證實戰寶典(C#) 1. Microsoft Technology Associate(MTA )國際認證由 Microsoft

3 -7

資料與網路服務

建立網路服務的步驟

建立 HelloWorldService 專案

1. 「檔案」→「新增」→「專案」。

2. 專案類型請選擇「Web」類型,Framework 版本請選擇

「.NET Framework 3.5」,專案範本請選擇「ASP.NET Web Service 應用程式」(「.NET Framework 4」不提供這個範

本)。

3. 「名稱」請輸入「HelloWorldService」。

4. 開啟「 Service1.asmx 」,可以知道這個服務的名稱是

「 Service1 」 ( 服務名稱即類別名稱 ) ,預設提供一個

HelloWorld 的 Web 服務方法(將 WebMethod 屬性套用至公

用方法稱為 Web 服務方法)。

新增 SayHello 與 Greeting 方法並且在網頁中測試

Page 21: Chapter 01 Chapter 02epaper.gotop.com.tw/pdf/CMS101400.pdf · 98-363 1-2 MTA Exam 網站研發認證實戰寶典(C#) 1. Microsoft Technology Associate(MTA )國際認證由 Microsoft

3 -8

MTA Exam 98-363 網站研發認證實戰寶典(C#)

將 HelloWorld 這個 Web 服務方法刪除,新增以下程式碼。

1. 新增 SayHello 與 Greeting 這兩個方法(第 21~29 行)。

SayHello 會呼叫 Greeting,並且帶入 stringName 為參

數,並且回傳執行結果。

由於 Greeting 沒有 WebMethod 屬性,因此無法在 Web服務中被使用,如果想讓 Greeting 方法能夠在 Web 服

務 中 被 使 用 , 只 要 在 Greeting 方 法 前 面 加 上

WebMethod 屬性即可

Page 22: Chapter 01 Chapter 02epaper.gotop.com.tw/pdf/CMS101400.pdf · 98-363 1-2 MTA Exam 網站研發認證實戰寶典(C#) 1. Microsoft Technology Associate(MTA )國際認證由 Microsoft

3 -9

資料與網路服務

2. 選擇 Service1.asmx 並且「在瀏覽器中檢視」,我們可以看

到服務名稱 Service1 提供的方法 SayHello。

這個網址最主要的目的是讓我們加入 Web 參考,提供

其他程式呼叫,待會我們將知道如何使用這個服務,接

下來我們先藉由這個畫面測試剛剛寫得程式是否正確。

Page 23: Chapter 01 Chapter 02epaper.gotop.com.tw/pdf/CMS101400.pdf · 98-363 1-2 MTA Exam 網站研發認證實戰寶典(C#) 1. Microsoft Technology Associate(MTA )國際認證由 Microsoft

3 -10

MTA Exam 98-363 網站研發認證實戰寶典(C#)

3. 在 SayHello 方法之中需要傳遞參數給 Web 服務,我們可以

在「值」的輸入方框內,輸入 stringName 的參數值,在這

裡我們輸入 Elf,並且按下「叫用」按鈕。

4. 此時會回傳字串型別的參數「Hello, Elf」,符合我們預期

的執行結果。

Page 24: Chapter 01 Chapter 02epaper.gotop.com.tw/pdf/CMS101400.pdf · 98-363 1-2 MTA Exam 網站研發認證實戰寶典(C#) 1. Microsoft Technology Associate(MTA )國際認證由 Microsoft

3 -11

資料與網路服務

在現有的方案之中加入 CallHelloWorldService 專案

1. 「檔案」→「新增」→「專案」。

2. 專案類型請選擇「Web」類型,Framework 版本請選擇

「.NET Framework 3.5」,專案範本請選擇「ASP.NET Web應用程式」。

3. 「名稱」請輸入「CallHelloWorldService」。

在 CallHelloWorldService 專案上按下滑鼠右鍵,選擇「加入

Web 參考」,出現以下畫面選擇「這個方案中的 Web 服務」

1. 此時會列出這個方案之中包含那些服務,目前方案只包含

Service1 這個服務,請選擇 Service1。

Page 25: Chapter 01 Chapter 02epaper.gotop.com.tw/pdf/CMS101400.pdf · 98-363 1-2 MTA Exam 網站研發認證實戰寶典(C#) 1. Microsoft Technology Associate(MTA )國際認證由 Microsoft

3 -12

MTA Exam 98-363 網站研發認證實戰寶典(C#)

2. 在「加入 Web 參考」的最後步驟之中,設定 Web 參考名稱

為 ServiceReference1,最後點選「加入參考」。

3. 在方案總管會新增 Web References 資料夾,資料夾內可以

看到我們剛剛建立的 Web 參考「ServiceReference1」。

Page 26: Chapter 01 Chapter 02epaper.gotop.com.tw/pdf/CMS101400.pdf · 98-363 1-2 MTA Exam 網站研發認證實戰寶典(C#) 1. Microsoft Technology Associate(MTA )國際認證由 Microsoft

3 -13

資料與網路服務

在 CallHelloWorldService 專案中加入 Default.aspx,並且加入

以下控制項。

1. 加入以下控制項並且設定以下屬性

TextBox

屬性 值

ID TextBoxName

Button

屬性 值

ID ButtonSayHello

Text Hello

Label

屬性 值

ID LabelSayHello

2. 在 ButtonSayHello 加入 Click 事件,並且輸入以下程式

碼 , 我 們 希 望 按 下 ButtonSayHello 之 後 , 將

TextBoxName.Text 的值做為 SayHello 的參數值,並且將

執行結果顯示在 LabelSayHello 上。(第 19~20 行)

Page 27: Chapter 01 Chapter 02epaper.gotop.com.tw/pdf/CMS101400.pdf · 98-363 1-2 MTA Exam 網站研發認證實戰寶典(C#) 1. Microsoft Technology Associate(MTA )國際認證由 Microsoft

3 -14

MTA Exam 98-363 網站研發認證實戰寶典(C#)

測試 Default.aspx。

1. 將 CallHelloWorldService 專案「設定為起始專案」,並且

將 Default.aspx「在瀏覽器中檢視」,可以看到以下畫面。

2. 請在輸入框輸入您的名字,在這裡我們輸入「Elf」,並且

按下 Hello 按鈕,右手邊的 Label 就會換成「 Hello, Elf」。

請注意這個範例雖然 Web 服務在同一個方案之內,可

能 Web 服務會在網路的其他位置,但是使用的方法都

一樣,很像在呼叫本地端的服務。

Page 28: Chapter 01 Chapter 02epaper.gotop.com.tw/pdf/CMS101400.pdf · 98-363 1-2 MTA Exam 網站研發認證實戰寶典(C#) 1. Microsoft Technology Associate(MTA )國際認證由 Microsoft

3 -15

資料與網路服務

服務

用戶端

A CBABC

Address(位址) 服務位於何處

Binding(協定繫結)如何存取該服務?

Contract(合約) 該服務提供哪些功能

資料

WCF (Windows Communication Foundation)

為服務與用戶端之間的協定,抽象地說明要交換資料

服務會提供一或多個端點(Endpoint)來讓用戶端存取

端 點 由 ABC 三 項 組 成 , 即 位 址 (Address) 、 協 定 繫 結

(Binding)、與合約(Contract)。

A:位址(Address),服務位於何處

B:協定繫結(Binding),如何存取該服務

C:合約(Contract),該服務提供哪些功能/操作

例如:某服務提供計算應繳所得稅的查詢,

A:服務位於 http://taxCalculation/location

B:使用 TCP 協助,加密傳輸

C:回傳該年度應繳所得稅額

Page 29: Chapter 01 Chapter 02epaper.gotop.com.tw/pdf/CMS101400.pdf · 98-363 1-2 MTA Exam 網站研發認證實戰寶典(C#) 1. Microsoft Technology Associate(MTA )國際認證由 Microsoft

3 -16

MTA Exam 98-363 網站研發認證實戰寶典(C#)

合約(Contract):用來定義雙方溝通的協定,合約必須要以介面

的方式來呈現,而實際的服務程式碼必須要由這些合約介面衍生並實

作,分成以下幾種:

資料合約(Data Contract):訂定雙方溝通時的資料格式,這

些資料型別可以用於訊息的任何部分,例如做為參數或傳回型

別。如果服務使用自訂資料型別,雙方必須明確定義資料合

約;如果服務只使用簡單型別,就不需要明確使用資料合約。

服務合約(Service Contract):訂定服務的定義,使用介面描

述服務提供哪些功能/操作,服務合約會將多個相關營運合約

結合起來,也就是一個服務提供多個方法供使用者呼叫,藉由

實作介面即可產生實際服務程式碼。

營運合約(Operation Contract):訂定服務提供的方法。

訊息合約(Message Contract):描述 SOAP 訊息的格式,可

細部控制 SOAP 標頭與本文,例如可以決定將資料置於 SOAP標頭或 SOAP 本文之中。

錯誤合約 (Fault Contract):描述特定的例外 (Exception)型別,讓用戶端也能以 try...catch 的結構化例外處理方式直接捕

捉服務端自訂的例外。事實上,在定義錯誤合約時,就是用資

料合約的方式描述 Exception 型別。

資料來源: http://msdn.microsoft.com/zh-tw/library/dd456781.aspx

http://zh.wikipedia.org/zh-tw/Windows_Communication_Foundation

http://blogs.msdn.com/b/polo_lee/archive/2007/03/16/soa-wcf.aspx

http://huan-lin.blogspot.com/2009/02/wcf-concept-map.html

http://sites.google.com/site/stevenattw/dot-net/wcf/wcf-essentials

Page 30: Chapter 01 Chapter 02epaper.gotop.com.tw/pdf/CMS101400.pdf · 98-363 1-2 MTA Exam 網站研發認證實戰寶典(C#) 1. Microsoft Technology Associate(MTA )國際認證由 Microsoft

3 -32

01.( ) 有一個 XML 檔案包含下列程式碼。

<?xml version="1.0"?>

<Employee Record>

<Employee>User One</Employee>

</Employee Record>

當這個 XML 檔案被讀入 XML 資料物件時發生錯誤,原因是:

(1) <Employee Record>包含空格

(2) <Employee Record>與<Employee>包含大寫字母

(3) User One 包含空格

(4) User One 未以引號括住

02.( ) 一個 XML 文件包含以下代碼。

<?xml version="1.0"?>

<Employ Record>

<Employee>User One</Employee>

</Employ Record>

將 XML 文件讀入 XML 數據對象時,出現錯誤,這是由於:

(1) <Employ Record>包含空格

(2) <Employ Record>和<Employ>包含大寫字母

(3) User One 包含空格

(4) User One 沒有用引號引起來

Page 31: Chapter 01 Chapter 02epaper.gotop.com.tw/pdf/CMS101400.pdf · 98-363 1-2 MTA Exam 網站研發認證實戰寶典(C#) 1. Microsoft Technology Associate(MTA )國際認證由 Microsoft

3 -33

03.( ) 有一個 XML 檔案包含下列程式碼。

<?xml version="1.0"?>

<rules>

<rule>salary<1000</rule>

</rules>

當這個檔案被讀入 XML 資料物件時發生錯誤。

(1) salary<1000 包含空格

(2) salary<1000 包含小於符號

(3) salary<1000 未以引號括住

(4) salary<1000 包含未以引號括住的小於符號

04.( ) 一個網頁有一個下拉式清單。您需要將該清單繫結至來自不

同伺服器資料庫的資料。您的方案必須使用 Web 伺服器上最

小量的記憶體資源。您應該使用哪一種資料物件?

(1) DataList

(2) DataLoad

(3) DataReader

(4) DataSet

05.( ) Web 服務以哪種格式將資料傳回應用程式?

(1) 十六進位

(2) HTML

(3) XAML

(4) XML

Page 32: Chapter 01 Chapter 02epaper.gotop.com.tw/pdf/CMS101400.pdf · 98-363 1-2 MTA Exam 網站研發認證實戰寶典(C#) 1. Microsoft Technology Associate(MTA )國際認證由 Microsoft

3 -34

06.( ) Web 服務端點是:

(1) Web 服務的結束狀態

(2) 可收發訊息的位址

(3) 可能會由幾個部分組成的獨立資料單位

(4) 訊息處理後的儲存位置

07.( ) Windows Communication Foundation (WCF)資料合約是:

(1) 說明要使用之通訊協定的文件

(2) 說明要交換資料加密方式的文件

(3) 服務與用戶端之間的協定(抽象地說明要交換資料)

(4) 服務與用戶端之間的協定(抽象地說明資料查詢技術)

08.( ) Windows Communication Foundation(WCF)數據協定是一種:

(1) 文檔,描述要使用的協議

(2) 文檔,描述對要交換的數據的加密

(3) 服務與客戶端之間的協議,抽象的描述要交換的數據

(4) 服務與客戶端之間的協議,抽象的描述數據查詢技術

09.( ) 有一個 Web 服務有下列 URL:

http://www.contoso.com/DataService/Products.asmx

Products.asmx 頁面的目的是要:

(1) 讓您能夠定義 Web 服務的端點

(2) 讓您能夠使用查詢字串參數呼叫該 Web 服務

(3) 提供測試和記錄該 Web 服務方法的位置

(4) 提供將 Web 服務參考加入至您應用程式的指示

Page 33: Chapter 01 Chapter 02epaper.gotop.com.tw/pdf/CMS101400.pdf · 98-363 1-2 MTA Exam 網站研發認證實戰寶典(C#) 1. Microsoft Technology Associate(MTA )國際認證由 Microsoft

3 -35

10.( ) 一個 Web 服務使用以下 URL:

http://www.contoso.com/DataService/Products.asmx

Products.asmx 頁面的用途是:

(1) 使您能為該 Web 服務定義終結點

(2) 使您能使用查詢字符串參數調用該 Web 服務

(3) 提供測試和紀錄該 Web 服務方法的位置

(4) 提供將該 Web 服務引用添加到您應用程序的說明

11.( ) 有一個 Web 服務包含下列程式碼。

public class Service1 : System.Web.Services.WebService

{

public string GetVerse(int page)

{

return arrVerse(page);

}

}

您需要在 Web 服務中公開該方法。您應該怎麼辦?

(1) 將類別範圍從 public 變更為 web

(2) 將方法範圍從 public 變更為 web

(3) 將類別加入至 System.Web 命名為空間

(4) 使用 WebMethod 屬性裝飾該方法

12.( ) WCF 服務的 ABC 即位址(Address)、協定繫結(Binding)、與

什麼?

(1) 合約(Contract)

(2) 連結(Connection)

(3) 條件(Condition)

(4) 取消(Cancel)

Page 34: Chapter 01 Chapter 02epaper.gotop.com.tw/pdf/CMS101400.pdf · 98-363 1-2 MTA Exam 網站研發認證實戰寶典(C#) 1. Microsoft Technology Associate(MTA )國際認證由 Microsoft

3 -36

13.( ) WCF 之中可以描述 SOAP 訊息的格式,可細部控制 SOAP 標

頭與本文的合約為何?

(1) 資料合約

(2) 訊息合約

(3) 錯誤合約

(4) 服務合約

14.( ) 您需要使用單一的語法來查詢多種不同的對象,例如資料

庫、XML、與 DataSet,您需要使用什麼技術?

(1) SQL

(2) XQuery

(3) JQuery

(4) LINQ

15.( ) 除 SQL Server 身分驗證外,混合模式身分驗證還支持哪種類

型的身分驗證?

(1) ASP

(2) IIS

(3) 純文字

(4) Windows

16.( ) <%#...%>語法是用來:

(1) 搭配 LINQ.dbml 檔案

(2) 搭配資料繫結運式

(3) 存取 web.config 檔案的<appSettings>區段

(4) 存取 web.config 檔案的<connectionStrings>區段