前陣子跟同事聊到 ASP.NET MVC 傳資料給 View 是用 ViewBag 好還是 Model 好? Google 了一下,沒有標準答案,既然這樣就自己來研究好了,我是從使用 ViewBag 或 Model 要付出什麼代價的角度去切入,提供給各位朋友參考。
[食譜好菜] ASP.NET MVC 應該多多利用瀏覽器的 Cache
長期在 ASP.NET 打滾,講到 Cache 第一時間就會想到 Redis、Memcached、... 這種伺服器端的 Cache 服務,但是在 Web 技術領域內還有瀏覽器端的 Cache,如果沒有特別指定,檯面上這些主流的瀏覽器都會把 Web 伺服器回應的內容存起來,我們應該要好好地利用它們來降低伺服器跟網路的壓力。
[小菜一碟] ASP.NET 的相對路徑使用 /(Slash)跟 ~/(Tilde Slash)的區別
無論我們是要引用網站的資源,還是做重新導向,除非是外部的資源,不然使用相對路徑絕對是優選,在 ASP.NET 的世界裡面我們用來表達根目錄有人會用 /(Slash)
,有人會用 ~/(Tilde Slash)
,但它們兩個的差別在哪?
[創意料理] 在 ASP.NET MVC 切莫無腦地使用 Html.Action、Html.RenderAction
Html.Action
、Html.RenderAction
、Html.Partial
、Html.RenderPartial
這四種方法都可以協助我們在 View 裡面渲染部分 HTML 內容,網路上針對這四種方式的差異說明大都著重在使用方式,但這次我們往下挖,看看這四種方式做了些什麼事?
[料理佳餚] ASP.NET 在不修改既有程式及後端資料的情況下統一置換某個特定字串
程式的生命週期往往比我們想像中的長,通常年紀愈大的程式包袱愈重,後面接手的人肩負的壓力也愈重,如果我們知道有一個字串叫 http://www.xxx.com ,現在因為政策的關係必須改成 https://www.xxx.com ,偏偏 http://www.xxx.com 被到處寫死在資料庫及程式原始碼裡面,除了把寫死的那些找出來改之外,我們還可以怎麼做?
[小菜一碟] 偽造 ClaimsIdentity 為 Controller Action 做有身份識別的單元測試
我在之前的專案有使用過 ASP.NET Identity 來幫我做驗證的工作,ASP.NET Identity 的出現為驗證身份的方式帶來了更大的彈性,不過如何使用不是這道菜的重點,這道料理要展現的是,當我們為 Controller Action 做有身份識別的單元測試時,我們要如何偽造不同的身份來滿足測試情境?
[小菜一碟] 對 ASP.NET MVC ModelBinder 做單元測試
軟體廚房開始推出小菜一碟系列,這系列的篇幅不長,但是裡面都會有一言以蔽之的重點,像這篇就是在講我們自訂了一個 ModelBinder,它要怎麼做單元測試?
我們拿[料理佳餚] ASP.NET MVC 自訂 ModelBinder 將宣告為抽象型別的參數反序列化這篇的例子來看一下。
[料理佳餚] ASP.NET MVC 自訂 ModelBinder 將宣告為抽象型別的參數反序列化
如果我們是真的用物件導向在設計程式,那麼一定會用到抽象類的型別(Abstract Class、Interface),在現今當下的資料交換格式中,JSON 算是大家首選的格式,可是當我們的設計相依於抽象之後,序列化及反序列化就變成一個我們必須特別要處理的點,序列化倒是還好,反序列化就比較頭痛了。
[料理佳餚] 用 LineBot 實現簡易的 IM 客服功能
看了董大偉老師的文章「關於LineBot (1) - 用c#建立一個LineBot」之後,我也來跟風一下,可是只有簡單的機器人回應有一點單調,憑藉著我以前在 CTI 領域的經驗,來實作一個簡易型的 IM 客服進線功能。
[食譜好菜] 使用 ASP.NET SignalR 實現主動式即時廣播通知
ASP.NET SignalR 技術出來好幾年了,一直沒有為它發個文,網路上也有很多相關的文章,大家 Google 一下就很多了,我參考了黑大的文章,而黑大的文章裡面也有連結到其他兩位專家的文章,大家可以去看看,我這邊僅記錄自己實作過程及心得。
- 1
- 2