The Will Will Web

記載著 Will 在網路世界的學習心得與技術分享

ASP.NET MVC 5 遺失的 Microsoft jQuery Unobtrusive Ajax 函式庫

以前在開發 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 錯誤紀錄頁面加上 IP 來源限制存取設定 (IIS)

ELMAH (Error Logging Modules and Handlers) 專門用來紀錄 ASP.NET 網站執行時期的錯誤,對維護網站軟體品質來說有很大的幫助。不過 ELMAH 記錄的資訊過於詳細,一般來說我們都還是會設定各種存取限制,例如透過限定使用者或角色的方式。本篇文章我將說明如何透過 IIS7 / IIS8 內建的 IP Security 模組,來限制特定 IP 來源才能存取 ELMAH 錯誤紀錄頁面。

... 繼續閱讀 ...

ASP.NET Identity 如何取得 Facebook 登入的 Access Token

經過長時間的研究,發現 ASP.NET Identity 真的是個很神奇的產品,不但官網缺乏文件,也缺乏完整的 API 文件,我實在不想讓這個好東西就此埋沒,今天特別整理 Facebook 登入後該如何將 Access Token 安全地保存在 Cookie 中。由於 Facebook 的 Access Token 有明確的到期時間,預設透過網站登入只有 2 小時的使用期限,因此沒必要像 GitHub 那樣將 Access Token 保存在資料庫中,本篇文章也一樣用逐步教學的方式,示範如何在你的網站增加 Facebook 驗證機制,並成功取得一個臨時的 Access Token。

... 繼續閱讀 ...

部署內部網站並使用 Windows 驗證登入的標準作業流程

上週部署了一個內部網站,部署的過程由於用到很多工具與技術,其步驟稍稍有點繁瑣,特別費心整理了一下標準安裝與設定的步驟,以供後續再次部署時參考。本文會牽涉到 IIS 7.5、ASP.NET 4.5、.NET 4.5.1、SQL Server 2008 R2、Web Deploy 3.5 等技術,且該網站是以 Windows 驗證為主要驗證方法。

... 繼續閱讀 ...

如何在 ASP.NET MVC 4 專案加上 Web API 與 API 說明頁面

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 在 .NET 4.0 與 .NET 4.5 的專案範本差異

昨天在【ASP.NET MVC 4 開發實戰】課程中,學員們發現了一個問題,就是在實作與測試 ASP.NET MVC 的 Routing (路由) 機制的過程中,發現有個功能有些人做得出來,有些人卻做不出來,當我前去查看時也沒立即發現問題癥結,中午休息的空檔終於找到的這個細微的差異之處,所以還是寫篇文章提醒正準備開始使用 .NET Framework 4.5 的 ASP.NET MVC 開發人員。

... 繼續閱讀 ...

ASP.NET MVC 開發心得分享 (24):擴充部分類別的建構子

在 ASP.NET MVC 使用 Entity Framework 資料庫先行開發模式 (Database-First Development) 的時候,因為所有 POCO (Plain Old CLR Object) 類別都會透過 *.tt 程式碼產生器範本自動建立,當我們想擴充資料模型時,勢必不會直接把驗證屬性直接寫在這些類別裡,而是在另一個部分類別檔案中,透過 MetadataType 屬性 (Attribute) 宣告一個 Metadata 類別 (又稱 Buddy Class)。另一方面,我們也會在資料模型的 POCO 類別的「建構子」方法中宣告屬性的預設值,但這時問題來了,如果我們在自動產生的資料模型類別中,已經宣告過「建構子」的話,那我們該如何在另一個部分類別檔案中再次「宣告」建構子呢?這就是這篇文章想要解決的難題。

... 繼續閱讀 ...

Visual Studio 2013 – ASP.NET 與 Web 功能快速預覽

TechEd North America 2013 正如火如荼的進行中,看了第一天的幾場,又再次陷入資訊爆炸的狀態。這次看見 Visual Studio 2013 推出了許多 ASP.NET 與 Web 相關功能預覽,覺得還蠻興奮的,特別摘錄 Microsoft ASP.NET, Web, and Cloud Tools Preview 影片中幾個亮點,讓大家快速掌握 VS2013 與 ASP.NET 的新功能。

... 繼續閱讀 ...