Category: ASP.NET MVC

評估過 AutoRest、NSwag、Swagger CodeGen 的客戶端程式碼產生功能,我選擇 Swag Studio,理由是 GUI 介面友善,不依賴第三方套件,且輸出結果為單一檔案,較符合我的要求。 實務應用上,難免需要微調產出結果以符合專案的特殊要求,而我遇到的情境得支援 .NET 3....

Swagger 背後的生態系統豐富,為享受寫好 WebAPI 後用現成工具自動產生文件、測試網頁、客戶端程式庫的便利,我準備調整 WebAPI 的開發策略。 過去我主要是用 ASP.NET MVC Controller 實作 WebAPI,即(範例教學:使用 ASP.NET MVC 打造 WebAP...

在部落格分享心得有一項好處,是不時會獲得讀者們熱心回應,補上被我忽略的寶物利器,有些未必學得了跟得上,但保持眼界開闊總是好的,避免淪為資深井底蛙。 Swagger 初試筆記一文發表後,網友再補充了兩件好東西: AutoRest 微軟開發的 OpenAPI 規格客戶端程式碼產生工具 (感謝 Chri...

一直以來,開發 WebAPI 我都很習慣用工具自動產生線上文件、線上測試介面以及客戶端程式庫,節省增刪介面方法後要同步調整文件及程式庫的工夫。 在 Swagger 流行之前,有好幾年的時間我都是靠土砲版 CodeGen 工具,用 Reflection 掃瞄 WebAPI 介面,從 XML Docum...

故事從上回的讓 JSON.parse() 內建日期解析小把戲說起,我提到將置換 JSON.parse 動作放在載入 jquery.js 之前,jQuery.ajax 便會內建將 2012-12-21T00:00:00Z 轉成 Date 型別的能力。寫完程式雛型進行重構時,我將 CSS、JavaScr...

前言 閒聊 - Web API 是否一定要 RESTful? 一文提到我個人偏好用 ASP.NET MVC 寫 WebAPI,讀者 Mark 留言希望能有簡單範例參考。這篇文章將示範用 ASP.NET MVC 從無到有打造一個簡單 WebAPI 服務,提供給初學 ASP.NET MVC 不知如何下手...

OutputCacheAttribute 是改善 ASP.NET MVC 網站效能的利器,只需在 Action 加註 [Output] 並指定 Cache 保留時間,其他什麼都不用做就得到跑一次程式應付數十上百次請求的效能提升,能提升回應速度並降低資源消耗。至於因應不同類型請求快取多份內容,Outp...

同事回報了一起奇怪狀況,追查之後又學到新東西。在我的觀念裡,Response.End() 時會立即中斷執行,有時還會觸發討厭的 ThreadAbortException。但在以下的 ASP.NET MVC 範例中,CheckAuth() 在查不到 Cookie 時會導向 /Login 並呼叫 R...

連發了幾篇 ASP.NET Core 文章,果不其然接到各方詢問: 「喵的媽呀,微軟又推新東西了?」 「WebForm 玩完了嗎?」 「我 ASP.NET MVC 還沒開始玩耶,是不是不用學了?」 先簡單答覆以上疑問: 是的,ASP.NET Core 是下一...

也差不多該開始玩 ASP.NET Core 了。最近剛好有個適合練功的題材,拿了 ASP.NET Core + Vue.js 上場演練,將一路上參考到的資源及瑣碎心得理成筆記備忘。 關於 ASP.NET Core,MVP John Wu 有一系列 IT 鐵人文,是新手上路很不錯的參考: ...

傳說 C 語言風格(C#/Java/JavaScript…)程序員依其信仰分為兩大派,自古以來不共戴天: 依我的觀點,寫 WebAPI 的程序員也分成兩派,RESTful 派跟非 REST 派。我屬於後者,是非主流的少數派。 前幾天跟同事聊到 Web API 是否一定要 RESTful,...

分享 ASP.NET MVC 私房小技巧一則。 AJAX 呼叫 ASP.NET MVC 時,基於安全考量應限定 POST 方法。(參考:隱含殺機的GET式AJAX資料更新 - 黑暗執行緒) 不過在開放測試階段,開放 GET 可在瀏覽器網址列輸入 URL 測試較方便,有沒有兩全其美的方法?...

維護 ASP.NET MVC 專案遇上巢狀 Layout 引用 Partial View 的情境,無法斷定執行先後順序,想必是自己觀念不清,做了以下實驗驗證,順手分享之。 假設有 ASP.NET MVC 巢狀 Layout 並混用 Partial View 結構如下: _Layout.c...

最近接連遇到兩次的問題。 首先是某個用 Visual Studio 2017 開發的專案,同事 T 從 TFS 取回最新版以 VS2017 開啟,其中卻有兩個 MVC 專案呈現截入失敗,其他還有 Class Library 及 Web Site Project 等多個專案則沒問題;改用 VS2...

多年下來,寫程式發 Email 通知的需求做過 N 回,其中寄給客戶的通知為求美觀常需採用 HTML 格式,而客戶姓名、通知內容等要隨客戶動態改變,嚴格來說也是一種套表。過去我慣用一套自己發明的「特別註記+Replace」做法,例如: var tmpl = "<span>[$Na...