DEV309 ASP.NET MVC4 新功能概論 范連喜(demo 電魔小鋪數位有限公司 http://demo.tc
ASP.NET MVC4 新功能 範本加強 行動開發 網路應用 其他功能
ASP.NET MVC4 新功能 範本加強 真正的空白範本 Layout全面翻新,使用HTML5為基礎,支援響應式設計( Responsive Web Design ) 專屬行動應用程式的範本 專屬Web API的範本
ASP.NET MVC4 全新空白範本 比 MVC 3 的空範本更乾淨 完全不包含 Layout 只載入基本套件
MVC 4 全新空白範本
ASP.NET MVC4 全新基本範本 就是原本 MVC 3 的空範本 有基本的 Layout 範例 CSS JavaScript
MVC 4 全新基本範本
ASP.NET MVC4 網際網路應用程式範本 初學者必看的範本 完整的 Layout 範例 CSS、JavaScript 文件 EntityFramework 5.0 完整的會員註冊、登入範例 表單驗證機制範例 ActionFilter範例
ASP.NET MVC4 內部網路應用程式範本 與網際網路應用程式範本大多數相同 沒有會員註冊、登入範例 沒有ActionFilter範例
MVC 4 網際/內部 網路應用程式範本 從範例程式中挖寶
ASP.NET MVC4 全新範本
ASP.NET MVC4 全新範本
ASP.NET MVC4 行動應用程式範本 使用 jQuery.mobile與 jQuery.UI
ASP.NET MVC4 行動應用程式範本 使用 jQuery.mobile與 jQuery.UI 沒了…這範本就這樣……..
MVC 4 行動應用程式範本
ASP.NET MVC4 Web API 範本 與網際網路應用程式範本大多數相同 沒有會員註冊、登入範例 沒有ActionFilter範例
MVC 4 Web API 範本
ASP.NET MVC4 新功能 行動開發 顯示模式的設定 (Display Modes 預設支援 mobile 顯示模式 利用 User Agent 決定顯示模式 (Browser Overriding 擴充方便
Display Modes 靈活切換你的 View
ASP.NET MVC4 新功能 行動開發 顯示模式的設定 (Display Modes jQuery Mobile 利用 User Agent 決定顯示模式 (Browser Overriding 擴充方便 jQuery Mobile
Display Modes 搭配 jQuery.Mobile
ASP.NET MVC4 新功能 網路應用 Windows Azure SDK 支援 OAuth 整合 Web API
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( "https://consent.live.com/AccessToken.aspx"); 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); } }
ASP.NET MVC4 整合OAuth
ASP.NET MVC4 整合OAuth
ASP.NET MVC4 整合 Microsoft OAuth
ASP.NET MVC4 整合 Microsoft OAuth
ASP.NET MVC4 整合 Microsoft OAuth
ASP.NET MVC4 整合 Microsoft OAuth
ASP.NET MVC4 整合 Twitter OAuth
ASP.NET MVC4 整合 Twitter OAuth
ASP.NET MVC4 整合 Twitter OAuth
ASP.NET MVC4 整合 Facebook OAuth
ASP.NET MVC4 整合 Facebook OAuth
ASP.NET MVC4 整合 Facebook OAuth
ASP.NET MVC4 整合 Google OAuth
ASP.NET MVC4 整合 OAuth
ASP.NET MVC4 整合OAuth 預設已經寫好的知名應用 Microsoft Facebook Twitter Google (OpenID) LinkedIn Yahoo (OpenID)
OAuth 登入操作示範 使用 Facebook 做示範
ASP.NET MVC4 Web API Web API RESTful 獨立出一個 WebApiConfig.cs 利用網址簡單呼叫 CRUD 習慣取代配置的另一個實例 RESTful 是一種相當簡潔的軟體架構
簡單的新增(C)、查詢(R)、修改(U)、刪除(D) Web API 簡單的新增(C)、查詢(R)、修改(U)、刪除(D)
ASP.NET MVC4 Web API Web API RESTful 獨立出一個 WebApiConfig.cs 利用網址簡單呼叫 CRUD 習慣取代配置的另一個實例 OData獨立為單一專案
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>
簡單的 top , skip , filter , orderby Web API - OData 簡單的 top , skip , filter , orderby
ASP.NET MVC4 Web API - OData eq(Equal to,等於) gt(Greater than,大於) lt(Less than,小於) ne(Not equal to,不等於)
ASP.NET MVC 4 新功能 其他功能 CSS 和 JS檔案的壓縮和合併 非同步的支援 不再限制Controller只能建立在預設的Controllers資料夾內 AllowAnonymous _references.js Page Inspector
ASP.NET MVC4 壓縮和合併 有效降低網頁傳輸的大小 彈性的設定 支援CDN 智慧判斷載入檔案 .NET 4.5 也可用 不限版本 單一目錄 忽略清單 支援CDN 智慧判斷載入檔案 .NET 4.5 也可用
Bundling and Minification 優化網頁輸出大小,有效節省頻寬流量
最佳的前端偵錯工具 Internet Explorer 最佳化後的偵錯議題 最佳的前端偵錯工具 Internet Explorer
ASP.NET MVC 4 新功能 其他功能 CSS 和 JS檔案的壓縮和合併 非同步的支援 不再限制Controller只能建立在預設的Controllers資料夾內 AllowAnonymous _references.js Page Inspector
ASP.NET MVC4 非同步的支援 大幅簡化非同步控制項撰寫的困難度 屬於.NET 4.5 新增功能
Task Support for Asynchronous Controllers
ASP.NET MVC 4 新功能 其他功能 CSS 和 JS檔案的壓縮和合併 非同步的支援 不再限制Controller只能建立在預設的Controllers資料夾內 AllowAnonymous _references.js Page Inspector
Add Controller to any project folder
ASP.NET MVC 4 新功能 其他功能 CSS 和 JS檔案的壓縮和合併 非同步的支援 不再限制Controller只能建立在預設的Controllers資料夾內 AllowAnonymous (attribute) _references.js Page Inspector
AllowAnonymous 權限驗證的好幫手
ASP.NET MVC 4 新功能 其他功能 CSS 和 JS檔案的壓縮和合併 非同步的支援 不再限制Controller只能建立在預設的Controllers資料夾內 AllowAnonymous _references.js Page Inspector
ASP.NET MVC 4 新功能 其他功能 CSS 和 JS檔案的壓縮和合併 非同步的支援 不再限制Controller只能建立在預設的Controllers資料夾內 AllowAnonymous _references.js Page Inspector
Page Inspector
聯絡方式 Blog: http://demo.tc twMVC: http://mvc.tw Google+: http://demo.tc/+ Facebook: http://fb.me/demo.fan Plurk: http://plurk.com/demoshop
立即啟動!免費開發人員帳戶!! Windows Store / Windows Azure / Windows Phone 擁有 MSDN 訂閱 「取得代碼」後進行註冊 http://aka.ms/startmsdn 優惠內容: Windows Store / Windows Phone – 啟用後12個月, 完全免費! Windows Azure – 訂閱期間, 每月固定的免費使用量!