44
輕輕輕輕 ASP.NET Web API 2.1.2 輕輕輕 (Bruce) [email protected]

Bruce-輕鬆上手Asp.net web api 2.1.2

Embed Size (px)

DESCRIPTION

study4.tw五月份

Citation preview

Page 1: Bruce-輕鬆上手Asp.net web api 2.1.2

輕鬆上手ASP.NET Web API 2.1.2

陳傳興 (Bruce)[email protected]

Page 2: Bruce-輕鬆上手Asp.net web api 2.1.2

2

簡介

▪ 2012~2014 年,連任三屆微軟最有價值專家( MVP )▪ 微軟 TechDays & MSDN 講座 講師▪ 台中市電腦商業同業公會 特約講師▪ 中國生產力中心( CPC ) 特約講師▪ Global Windows Azure Bootcamp 2014 TW 講師▪ Study4.TW 成員及講師 ( http://study4.tw)▪ twMVC 核心成員及講師 ( http://mvc.tw)▪ 著作– 《 ASP.NET MVC4 網站開發美學》– 《 ASP.NET MVC ? 網站開發美學》

Page 3: Bruce-輕鬆上手Asp.net web api 2.1.2

3

今天不講 ASP.NET Web API

▪ 請購買《 ASP.NET MVC4 網站開發美學》

Page 4: Bruce-輕鬆上手Asp.net web api 2.1.2

4

今天不講 ASP.NET Web API 2

▪ TechDays Taiwan 2013 Dev303– http://mvc.tw/001g

▪ Web Services 開發實戰: 使用 ASP.NET Web API 2– http://mvc.tw/001h

Page 5: Bruce-輕鬆上手Asp.net web api 2.1.2

5

今日主軸

Web API

Tools2.1.2

Page 6: Bruce-輕鬆上手Asp.net web api 2.1.2

6

ASP.NET Web API 2.1.2

▪ Global Error Handling

▪ Attribute routing improvements

▪ Help Page improvements

▪ IgnoreRoute support

▪ BSON media-type formatter

▪ Better support for async filters

▪ Query Parsing for the client formatting library

Page 7: Bruce-輕鬆上手Asp.net web api 2.1.2

7

語意化版本

▪ http://semver.org/lang/zh-TW/

▪ 所有 NuGet 套件未來都會循著 Semantic Versioning 規格。▪ ASP.NET MVC 5.1 RTM

ASP.NET Web API 2.1 RTM版本號是 "5.1.1" 。

▪ ASP.NET Web API 2.1.2 版本號是 "5.1.2"

Page 8: Bruce-輕鬆上手Asp.net web api 2.1.2

8

Update 2

▪ Visual Studio 2013 Update 2

▪ MVC / Web API 範本有更新預設載入

ASP.NET MVC 5.1.2ASP.NET Web API 2.1.2 ( 5.1.2 )

Page 9: Bruce-輕鬆上手Asp.net web api 2.1.2

9

我不想裝 Update 2

▪ Visual Studio 2013 Update 1

▪ VS 2013 with ASP.NET and Web Tools 2013.1http://www.asp.net/downloads

▪ PM> Update-Package Microsoft.AspNet.WebApi

Page 10: Bruce-輕鬆上手Asp.net web api 2.1.2

如果你端午節很無聊的話

▪ PM> Install-Package Microsoft.AspNet.WebApi -Pre– ASP.NET Web API 2.2 RC ( 5.2.0-rc )

Page 11: Bruce-輕鬆上手Asp.net web api 2.1.2

Entity Framework 6.1

Tool

Page 12: Bruce-輕鬆上手Asp.net web api 2.1.2

12

Entity Framework 6.1

▪ Entity Framework 6.1.0 Tools for Visual Studio 2012 & 2013

▪ http://mvc.tw/001e

Page 13: Bruce-輕鬆上手Asp.net web api 2.1.2

13

來自星星資料庫的 Code First

Page 14: Bruce-輕鬆上手Asp.net web api 2.1.2

Web API Tracing

Web API Tracing

Page 15: Bruce-輕鬆上手Asp.net web api 2.1.2

15

開發時的好幫手

▪ Install-Package Microsoft.AspNet.WebApi.Tracing

▪ Update-Package Microsoft.AspNet.WebApi.WebHost

▪ config.EnableSystemDiagnosticsTracing();

Page 16: Bruce-輕鬆上手Asp.net web api 2.1.2

全域錯誤處理常式Feature

Page 17: Bruce-輕鬆上手Asp.net web api 2.1.2

17

Global Error Handling

▪ 所有未處理的例外現在可以通過一個中央機制來記錄,並且未處理例外的行為可以客製化。

▪ ExceptionLogger表示未處理的例外狀況記錄器。

▪ ExceptionHandler表示未處理的例外狀況處理常式。

▪ System.Web.Http.ExceptionHandling 命名空間

Page 18: Bruce-輕鬆上手Asp.net web api 2.1.2

elmah.io

Tool

Page 19: Bruce-輕鬆上手Asp.net web api 2.1.2

elmah.io

Page 20: Bruce-輕鬆上手Asp.net web api 2.1.2

屬性路由改善Feature

Page 21: Bruce-輕鬆上手Asp.net web api 2.1.2

21

Attribute routing improvements

▪ 屬性路由( Attribute routing )由 Web API 2 提供。在 Web API 2.1 支援條件限制( constraint ),版本控制與基於header 的路由選擇。

▪ 提供 IDirectRouteFactory 與 RouteFactoryAttribute 來客製化路由。

▪ 提供 IRoutePrefix 與 RoutePrefixAttribute 來擴充路由字首。

Page 22: Bruce-輕鬆上手Asp.net web api 2.1.2

Help Page

Feature

Page 23: Bruce-輕鬆上手Asp.net web api 2.1.2

23

Help Page improvements

▪ 在說明文件中獨立呈顯 Action 方法的參數或回傳型別。▪ 在說明文件中呈現資料模型註解。▪ UI 設計更新。

Page 24: Bruce-輕鬆上手Asp.net web api 2.1.2

WebApiTestClient

Tool

Page 25: Bruce-輕鬆上手Asp.net web api 2.1.2

WebApiTestClient

▪ Install-Package WebApiTestClient

Page 26: Bruce-輕鬆上手Asp.net web api 2.1.2

api.cshtml

▪ @*~\Areas\HelpPage\Views\Help\Api.cshtml*@

▪ @Html.DisplayForModel("TestClientDialogs")

▪ @section scripts

▪ {

▪ @Html.DisplayForModel("TestClientReferences")

▪ }

Page 27: Bruce-輕鬆上手Asp.net web api 2.1.2

忽略路由Feature

Page 28: Bruce-輕鬆上手Asp.net web api 2.1.2

28

IgnoreRoute support

▪ ASP.NET Web API 2.1 支援 IgnoreRoute 的 URL 模式,只需要透過 HttpRouteCollection 的 IgnoreRoute 擴充方法。

Page 29: Bruce-輕鬆上手Asp.net web api 2.1.2

BSON

Feature

Page 30: Bruce-輕鬆上手Asp.net web api 2.1.2

30

BSON media-type formatter

▪ http://bsonspec.org/

▪ BSON [bee · sahn]

▪ 二進位 JSON 。▪ 目前主要使用在 MangoDB。▪ Tool : bsondump , http://mvc.tw/001f 。

Page 31: Bruce-輕鬆上手Asp.net web api 2.1.2

Async Filters

Feature

Page 32: Bruce-輕鬆上手Asp.net web api 2.1.2

32

Better support for async filters

▪ AuthorizationFilterAttribute– OnAuthorization– OnAuthorizationAsync

▪ ActionFilterAttribute– OnActionExecuting– OnActionExecuted– OnActionExecutingAsync– OnActionExecutedAsync

▪ ExceptionFilterAttribute– OnException– OnExceptionAsync

Page 33: Bruce-輕鬆上手Asp.net web api 2.1.2

查詢字串Feature

Page 34: Bruce-輕鬆上手Asp.net web api 2.1.2

34

Query Parsing

▪ Web API Client Library 可攜式版本援 Qurey String 的解析與建立。

Page 35: Bruce-輕鬆上手Asp.net web api 2.1.2

批次處理for Web API 2

Page 36: Bruce-輕鬆上手Asp.net web api 2.1.2

36

ASP.NET Web API Batching

▪ ASP.NET Web API 2 提供。▪ Batch poing– HTTP 批次端點▪ 透過 MapHttpBatchRoute 設定 HTTP 批次端點,提供 HTTP 處理批次要求的能

力。– OData 批次端點▪ 透過 MapODataRoute 設定 OData Service 批次端點,提供 OData Service

處理批次要求的能力。

Page 37: Bruce-輕鬆上手Asp.net web api 2.1.2

郵差先生Tool

Page 38: Bruce-輕鬆上手Asp.net web api 2.1.2

變變變

Page 39: Bruce-輕鬆上手Asp.net web api 2.1.2

OAuth 登入for Web API 2

Page 40: Bruce-輕鬆上手Asp.net web api 2.1.2

40

Extenal Login

▪ ASP.NET Web API 2 提供。▪ Web API 2 內建 OAuth Authorization Server ,提供 Token

方式來進行會員管理的功能。▪ 可整合第三方 OAuth 2.0 服務,目前內建整合 Microsoft

Account 、 Twitter 、 Facebook 、 Google 提供的 Token 進行驗證使用者作業。

Page 42: Bruce-輕鬆上手Asp.net web api 2.1.2

Blog 與 Web

▪ Blog : http://blog.kkbruce.tw

▪ Web : http://kkbruce.tw

Page 44: Bruce-輕鬆上手Asp.net web api 2.1.2

謝謝各位

• 本投影片所包含的商標與文字皆屬原著作者所有。• 本著作係採用姓名標示 -非商業性 -相同方式分享 3.0 台灣授權。閱讀本授權條款,請到

http://creativecommons.org/licenses/by-nc-sa/3.0/tw/,或寫信至 Creative Commons, 444 Castro Street, Suite 900, Mountain View, California, 94041, USA.