The Will Will Web | ASP.NET Web API

The Will Will Web

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

如何在 ASP.NET Web API 2 專案中啟用表單驗證 (Forms Authentication)

使用 Visual Studio 2015 開發 ASP.NET Web API 2 專案時,有好幾種專案範本可以選擇,你可以從「空白」專案範本開始,也可以從「MVC」專案範本開始 (記得勾選 Web API 核心參考),也可以直接從「Web API」專案範本開始,由於專案範本通常夾雜大量的範例程式,很多時候我們並無法在第一時間得知每段程式碼與設定檔的細節,以至於在後續開發的過程發生許多問題。本篇文章將帶大家了解如何成功在 ASP.NET Web API 2 專案正確啟用 ASP.NET 的表單驗證機制 (FormsAuthenticaion)。

... 繼續閱讀 ...

如何在 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 Web API 套用 ELMAH 錯誤紀錄模組

每個網站必備的 ELMAH (Error Logging Modules and Handlers) 模組,在使用 ASP.NET Web API 時卻無法自動套用,也就是說 ASP.NET Web API 執行的過程中發生任何例外,預設都不會自動寫入 ELMAH 指定的儲存區。那是因為 ASP.NET Web API 的主要用途是用來回應呼叫 RESTful API 的用戶端要求,為了不讓用戶端得到不符合 JSON 或 XML 格式的訊息內容,因此所有例外都會被 ApiController 基底類別給攔截,如果我們想在 ASP.NET Web API 實作錯誤紀錄,則必須透過 Action Filter 來設定。

... 繼續閱讀 ...

ASP.NET Web API 無法輸出 Entity Framework 物件的解法

開發 ASP.NET Web API 時,如果專案使用 Entity Framework 技術的話,當 Entity 與 Entity 之間包含導覽屬性 (Navigation Property) 的話,在預設的情況下,ASP.NET Web API 在輸出 JSON 格式時,會引發一個 System.InvalidOperationException 的例外狀況,其錯誤訊息為「'ObjectContent`1' 類型無法序列化內容類型 'application/json; charset=utf-8' 的回應主體。」,若要解決這個問題,有幾個必須注意的地方,才能讓 ASP.NET Web API 正常且穩定的運作。

... 繼續閱讀 ...

ASP.NET Web API 如何透過程式決定回應XML或JSON格式

雖然 ASP.NET Web API 內建支援 JSON 與 XML 兩種輸出格式,並依據瀏覽器端送出的 Accept 標頭自動決定回應的內容格式,不過有時候我們的確也需要讓程式來控制要回應哪種格式,本文將介紹如何讓 ASP.NET Web API 自訂回應結果格式 (XML 或 JSON),以方便透過其他方法來決定如何回應訊息格式。

... 繼續閱讀 ...

如何讓 ASP.NET Web API 無論任何要求都回應 JSON 格式

ASP.NET Web API 是新一代的 HTTP 網路服務開發框架,除了可以透過 Visual Studio 2012 快速開發外 (內建於 ASP.NET MVC 4 的 Web API 專案範本內),也非常適合用於各種跨平台的行動裝置上,如果你想開發 RESTful 應用程式,那麼使用 ASP.NET Web API 應該是挺理想的解決方案。不過 ASP.NET Web API 內建支援 JSON 與 XML 兩種輸出格式,並依據瀏覽器端送出的 Accept 標頭自動決定回應的內容格式,不過也因為這點讓有些 Web API 新手上路的開發人員來說似乎頗為困擾,本文將介紹如何讓 ASP.NET Web API 強迫回應 JSON 結果,以方便直接用任何瀏覽器都能看見 JSON 的執行結果。

... 繼續閱讀 ...