Download presentation
Presentation is loading. Please wait.
Published byἈρταξέρξης Δουρέντης Modified 6年之前
1
DEV309 ASP.NET MVC4 新功能概論 范連喜(demo 電魔小鋪數位有限公司
2
ASP.NET MVC4 新功能 範本加強 行動開發 網路應用 其他功能
3
ASP.NET MVC4 新功能 範本加強 真正的空白範本
Layout全面翻新,使用HTML5為基礎,支援響應式設計( Responsive Web Design ) 專屬行動應用程式的範本 專屬Web API的範本
4
ASP.NET MVC4 全新空白範本 比 MVC 3 的空範本更乾淨 完全不包含 Layout 只載入基本套件
5
MVC 4 全新空白範本
6
ASP.NET MVC4 全新基本範本 就是原本 MVC 3 的空範本 有基本的 Layout 範例 CSS JavaScript
7
MVC 4 全新基本範本
8
ASP.NET MVC4 網際網路應用程式範本 初學者必看的範本 完整的 Layout 範例 CSS、JavaScript 文件
EntityFramework 5.0 完整的會員註冊、登入範例 表單驗證機制範例 ActionFilter範例
9
ASP.NET MVC4 內部網路應用程式範本 與網際網路應用程式範本大多數相同 沒有會員註冊、登入範例 沒有ActionFilter範例
10
MVC 4 網際/內部 網路應用程式範本 從範例程式中挖寶
11
ASP.NET MVC4 全新範本
12
ASP.NET MVC4 全新範本
13
ASP.NET MVC4 行動應用程式範本 使用 jQuery.mobile與 jQuery.UI
14
ASP.NET MVC4 行動應用程式範本 使用 jQuery.mobile與 jQuery.UI 沒了…這範本就這樣……..
15
MVC 4 行動應用程式範本
16
ASP.NET MVC4 Web API 範本 與網際網路應用程式範本大多數相同 沒有會員註冊、登入範例 沒有ActionFilter範例
17
MVC 4 Web API 範本
18
ASP.NET MVC4 新功能 行動開發 顯示模式的設定 (Display Modes 預設支援 mobile 顯示模式
利用 User Agent 決定顯示模式 (Browser Overriding 擴充方便
19
Display Modes 靈活切換你的 View
20
ASP.NET MVC4 新功能 行動開發 顯示模式的設定 (Display Modes jQuery Mobile
利用 User Agent 決定顯示模式 (Browser Overriding 擴充方便 jQuery Mobile
21
Display Modes 搭配 jQuery.Mobile
22
ASP.NET MVC4 新功能 網路應用 Windows Azure SDK 支援 OAuth 整合 Web API
23
ASP.NET MVC4 整合OAuth // For security purposes, we need to create session-specific callback URLs when not using HTTPS. public static string GetUrlForSession() { return ConfigurationManager.AppSettings["wl_wrap_client_callback"] + "?wl_session_id=" + HttpContext.Current.Session.SessionID; } protected void Page_Load(object sender, EventArgs e) { if (Request.QueryString["wrap_verification_code"] != null) { try { // Construct a request for an access token. WebRequest tokenRequest = WebRequest.Create( " tokenRequest.ContentType = "application/x-www-form-urlencoded"; tokenRequest.Method = "POST"; using (StreamWriter writer = new StreamWriter(tokenRequest.GetRequestStream())) { writer.Write(string.Format( "wrap_client_id={0}&wrap_client_secret={1}&wrap_callback={2}&wrap_verification_code={3}", HttpUtility.UrlEncode(ConfigurationManager.AppSettings["wl_wrap_client_id"]), HttpUtility.UrlEncode(ConfigurationManager.AppSettings["wl_wrap_client_secret"]), HttpUtility.UrlEncode(GetUrlForSession()), HttpUtility.UrlEncode(Request.QueryString["wrap_verification_code"]))); } // Send the request and get the response. WebResponse tokenResponse = tokenRequest.GetResponse(); // Read the first line of the response body. string tokenResponseText = new StreamReader(tokenResponse.GetResponseStream()).ReadLine(); // Parse the response body as being in the format of 'x-www-form-urlencoded'. NameValueCollection tokenResponseData = HttpUtility.ParseQueryString(tokenResponseText); // Store data in cookies where the JS API will pick them up. Response.Cookies["wl_clientId"].Value = ConfigurationManager.AppSettings["wl_wrap_client_id"]; Response.Cookies["wl_clientState"].Value = Request.QueryString["wrap_client_state"]; Response.Cookies["wl_scope"].Value = Request.QueryString["exp"]; Response.Cookies["wl_accessToken"].Value = tokenResponseData["wrap_access_token"]; Response.Cookies["wl_accessTokenExpireTime"].Value = tokenResponseData["wrap_access_token_expires_in"]; Response.Cookies["wl_cid"].Value = tokenResponseData["cid"]; Response.Cookies["wl_complete"].Value = "done"; } catch (System.Net.WebException webException) { string responseBody = null; if (webException.Response != null) { using (StreamReader sr = new StreamReader(webException.Response.GetResponseStream(), Encoding.UTF8)) { responseBody = sr.ReadToEnd(); } } throw new Exception(String.Format( "Failure occurred contacting consent service: Response=\r\n\r\n----\r\n{0}\r\n----\r\n\r\n", responseBody), webException); } catch (System.Exception innerException) { throw new Exception("Failed to get access token. Ensure that the verifier token provided is valid.", innerException); } }
24
ASP.NET MVC4 整合OAuth
25
ASP.NET MVC4 整合OAuth
26
ASP.NET MVC4 整合 Microsoft OAuth
27
ASP.NET MVC4 整合 Microsoft OAuth
28
ASP.NET MVC4 整合 Microsoft OAuth
29
ASP.NET MVC4 整合 Microsoft OAuth
30
ASP.NET MVC4 整合 Twitter OAuth
31
ASP.NET MVC4 整合 Twitter OAuth
32
ASP.NET MVC4 整合 Twitter OAuth
33
ASP.NET MVC4 整合 Facebook OAuth
34
ASP.NET MVC4 整合 Facebook OAuth
35
ASP.NET MVC4 整合 Facebook OAuth
36
ASP.NET MVC4 整合 Google OAuth
37
ASP.NET MVC4 整合 OAuth
38
ASP.NET MVC4 整合OAuth 預設已經寫好的知名應用 Microsoft Facebook Twitter
Google (OpenID) LinkedIn Yahoo (OpenID)
39
OAuth 登入操作示範 使用 Facebook 做示範
40
ASP.NET MVC4 Web API Web API RESTful 獨立出一個 WebApiConfig.cs
利用網址簡單呼叫 CRUD 習慣取代配置的另一個實例 RESTful 是一種相當簡潔的軟體架構
41
簡單的新增(C)、查詢(R)、修改(U)、刪除(D)
Web API 簡單的新增(C)、查詢(R)、修改(U)、刪除(D)
42
ASP.NET MVC4 Web API Web API RESTful 獨立出一個 WebApiConfig.cs
利用網址簡單呼叫 CRUD 習慣取代配置的另一個實例 OData獨立為單一專案
43
ASP.NET MVC4 Web API - OData
獨立專案可從NuGET下載 Install-Package Microsoft.AspNet.WebApi.OData -Pre REST + Web API 利用URL即可完成進階查詢功能 $top=n $skip=n $filter=<expression> $orderby=<expression>
44
簡單的 top , skip , filter , orderby
Web API - OData 簡單的 top , skip , filter , orderby
45
ASP.NET MVC4 Web API - OData
eq(Equal to,等於) gt(Greater than,大於) lt(Less than,小於) ne(Not equal to,不等於)
46
ASP.NET MVC 4 新功能 其他功能 CSS 和 JS檔案的壓縮和合併 非同步的支援
不再限制Controller只能建立在預設的Controllers資料夾內 AllowAnonymous _references.js Page Inspector
47
ASP.NET MVC4 壓縮和合併 有效降低網頁傳輸的大小 彈性的設定 支援CDN 智慧判斷載入檔案 .NET 4.5 也可用 不限版本
單一目錄 忽略清單 支援CDN 智慧判斷載入檔案 .NET 4.5 也可用
48
Bundling and Minification
優化網頁輸出大小,有效節省頻寬流量
49
最佳的前端偵錯工具 Internet Explorer
最佳化後的偵錯議題 最佳的前端偵錯工具 Internet Explorer
50
ASP.NET MVC 4 新功能 其他功能 CSS 和 JS檔案的壓縮和合併 非同步的支援
不再限制Controller只能建立在預設的Controllers資料夾內 AllowAnonymous _references.js Page Inspector
51
ASP.NET MVC4 非同步的支援 大幅簡化非同步控制項撰寫的困難度 屬於.NET 4.5 新增功能
52
Task Support for Asynchronous Controllers
53
ASP.NET MVC 4 新功能 其他功能 CSS 和 JS檔案的壓縮和合併 非同步的支援
不再限制Controller只能建立在預設的Controllers資料夾內 AllowAnonymous _references.js Page Inspector
54
Add Controller to any project folder
55
ASP.NET MVC 4 新功能 其他功能 CSS 和 JS檔案的壓縮和合併 非同步的支援
不再限制Controller只能建立在預設的Controllers資料夾內 AllowAnonymous (attribute) _references.js Page Inspector
56
AllowAnonymous 權限驗證的好幫手
57
ASP.NET MVC 4 新功能 其他功能 CSS 和 JS檔案的壓縮和合併 非同步的支援
不再限制Controller只能建立在預設的Controllers資料夾內 AllowAnonymous _references.js Page Inspector
58
ASP.NET MVC 4 新功能 其他功能 CSS 和 JS檔案的壓縮和合併 非同步的支援
不再限制Controller只能建立在預設的Controllers資料夾內 AllowAnonymous _references.js Page Inspector
59
Page Inspector
60
聯絡方式 Blog: http://demo.tc twMVC: http://mvc.tw
Google+: Facebook: Plurk:
61
立即啟動!免費開發人員帳戶!! Windows Store / Windows Azure / Windows Phone
擁有 MSDN 訂閱 「取得代碼」後進行註冊 優惠內容: Windows Store / Windows Phone – 啟用後12個月, 完全免費! Windows Azure – 訂閱期間, 每月固定的免費使用量!
Similar presentations