以前在開發 ASP.NET MVC 4 的時候,Visual Studio 的專案範本中本身就已經包含了 Microsoft jQuery Unobtrusive Ajax 這個 NuGet 套件,所以當你想用 @Ajax 輔助方法時,自然不會遇到什麼困難。打從 ASP.NET MVC 5 開始,Visual Studio 2013 的專案範本改成預設不安裝 Microsoft jQuery Unobtrusive Ajax 套件,想用的時候不是安裝一下就好嗎?我自己一直這樣認為,所以不覺得有什麼不對,不過前陣子還是有同事剛從 ASP.NET MVC 4 升級到 ASP.NET MVC 5,他在第一次開發 ASP.NET MVC 5 專案時剛好也有用到 @Ajax 輔助方法,還是被卡關了一些時間,因此特別撰文提醒這個問題。
... 繼續閱讀 ...
ELMAH (Error Logging Modules and Handlers) 專門用來紀錄 ASP.NET 網站執行時期的錯誤,對維護網站軟體品質來說有很大的幫助。不過 ELMAH 記錄的資訊過於詳細,一般來說我們都還是會設定各種存取限制,例如透過限定使用者或角色的方式。本篇文章我將說明如何透過 IIS7 / IIS8 內建的 IP Security 模組,來限制特定 IP 來源才能存取 ELMAH 錯誤紀錄頁面。
... 繼續閱讀 ...
經過長時間的研究,發現 ASP.NET Identity 真的是個很神奇的產品,不但官網缺乏文件,也缺乏完整的 API 文件,我實在不想讓這個好東西就此埋沒,今天特別整理 Facebook 登入後該如何將 Access Token 安全地保存在 Cookie 中。由於 Facebook 的 Access Token 有明確的到期時間,預設透過網站登入只有 2 小時的使用期限,因此沒必要像 GitHub 那樣將 Access Token 保存在資料庫中,本篇文章也一樣用逐步教學的方式,示範如何在你的網站增加 Facebook 驗證機制,並成功取得一個臨時的 Access Token。
... 繼續閱讀 ...
在 Visual Studio 2013 新版的 ASP.NET MVC 5 專案範本中已內建 ASP.NET Identity 機制,若要整合第三方驗證機制,除了內建的 Microsoft Account、Facebook、Twitter 與 Google 之外,要怎樣增加其他的驗證機制呢?本篇文章就用逐步教學的方式,示範如何在你的網站增加 GitHub OAuth2 驗證機制。
... 繼續閱讀 ...
上週部署了一個內部網站,部署的過程由於用到很多工具與技術,其步驟稍稍有點繁瑣,特別費心整理了一下標準安裝與設定的步驟,以供後續再次部署時參考。本文會牽涉到 IIS 7.5、ASP.NET 4.5、.NET 4.5.1、SQL Server 2008 R2、Web Deploy 3.5 等技術,且該網站是以 Windows 驗證為主要驗證方法。
... 繼續閱讀 ...
ASP.NET Web API 功能強大,可很便利的設計出以 REST 為風格的 API 介面 (RESTful APIs),且早與 ASP.NET MVC 專案整合在一起。但是當 API 越寫越多時,如果沒有一個好個 API 文件或程式碼範例輔助,也很有可能會演變成一場災難。這篇文章,主要是撰寫如何在一個完全沒有 ASP.NET Web API 的專案中,加入新的 ASP.NET Web API 控制器 ( ApiController ) 並自動產生 API 文件的步驟。
... 繼續閱讀 ...
昨天在【ASP.NET MVC 4 開發實戰】課程中,學員們發現了一個問題,就是在實作與測試 ASP.NET MVC 的 Routing (路由) 機制的過程中,發現有個功能有些人做得出來,有些人卻做不出來,當我前去查看時也沒立即發現問題癥結,中午休息的空檔終於找到的這個細微的差異之處,所以還是寫篇文章提醒正準備開始使用 .NET Framework 4.5 的 ASP.NET MVC 開發人員。
... 繼續閱讀 ...
在 ASP.NET MVC 使用 Entity Framework 資料庫先行開發模式 (Database-First Development) 的時候,因為所有 POCO (Plain Old CLR Object) 類別都會透過 *.tt 程式碼產生器範本自動建立,當我們想擴充資料模型時,勢必不會直接把驗證屬性直接寫在這些類別裡,而是在另一個部分類別檔案中,透過 MetadataType 屬性 (Attribute) 宣告一個 Metadata 類別 (又稱 Buddy Class)。另一方面,我們也會在資料模型的 POCO 類別的「建構子」方法中宣告屬性的預設值,但這時問題來了,如果我們在自動產生的資料模型類別中,已經宣告過「建構子」的話,那我們該如何在另一個部分類別檔案中再次「宣告」建構子呢?這就是這篇文章想要解決的難題。
... 繼續閱讀 ...
TechEd North America 2013 正如火如荼的進行中,看了第一天的幾場,又再次陷入資訊爆炸的狀態。這次看見 Visual Studio 2013 推出了許多 ASP.NET 與 Web 相關功能預覽,覺得還蠻興奮的,特別摘錄 Microsoft ASP.NET, Web, and Cloud Tools Preview 影片中幾個亮點,讓大家快速掌握 VS2013 與 ASP.NET 的新功能。
... 繼續閱讀 ...