[廚餘回收] 關於 ASP.NET MVC 中 OutputCache 的 VaryByParam 屬性有一個不盡善盡美的地方

這天在追查為何 A 客戶的訂單會出貨到 B 客戶哪裡去? 於是我看到了下面這段程式碼:

在 Login 的 Action 上面被加了 OutputCacheAttribute,Duration 屬性被設成 3,其中還用到了 VaryByParam 屬性,我猜寫這段 Code 的工程師應該是想要為每個登入的帳號做 OutputCache,這樣設定沒有問題,問題出在 HTTP Request 的發送內容。

...繼續閱讀 »

[料理佳餚] 開發分散式運算的應用程式時,加入不可變性(Immutability)的設計來加強意圖。

由於 CPU 時脈的發展受限,因此 CPU 的發展不再往更高時脈前進,而是往更多核心數前進,隨之而來的,便是軟體設計師需要調整軟體的設計,讓原本的演算法能夠分散執行,充分地利用多核心的資源,使程式執行起來更有效率,而在開發分散式運算應用程式時,我個人是認為應該加入不可變性(Immutability)的設計,來強調其分散式運算的意圖。

...繼續閱讀 »

[廚餘回收] 要發 HTTP PUT、DELETE Request 到 IIS 站台卻收到 404、405 的錯誤訊息

相信很多朋友都有遇到過,我們用 ASP.NET MVC 或 ASP.NET WebApi 做好的標記有 HttpPut、HttpDelete 的 Action,部署到 IIS 伺服器之後,試著去發 Request 卻收到 404、405 的錯誤訊息,除非我們只寫 HttpGet、HttpPost 方法,不然有大於 87% 的機率會遇到,底下就來記錄一下解決的方式。

...繼續閱讀 »