[C#] ASP.NET Core 6.0 - 一種可以將 Page 當 WebAPI 用的方法,但不推薦

2023-02-06

今天來寫一個不推薦使用的小技巧,但是又是一個可以解決一些小問題的方法

簡單說一下情境,在 ASP.NET Webform 時代,有時候真的有時候給客戶一個東西要 retun JSON 的答案

但是我又不想使用一大個框架來解決問題,我會就把 Page 清乾淨後 直接處理POST過來的參數再 retun 我要的 JSON string

 這陣子我又遇到了,當然最好的解決方法,請使用 WebAPI ,這不是一個好的範例

用這方法請自己知道自己在做啥危險性有多高在評估使用。



[C#] .NET 6 - Enumerable.Chunk 寫分頁資料的新好幫手

今天來寫一個不算新但是很好用的東西 LINQ - Chunk , 這是 .NET 6  之後才有的

這東西很快只要一行就解決我每次都很不想寫的東西,就是分頁

以前寫分頁都要這樣下  LINQ  AllData.Skip((page-1)*perPageDataCount).Take(perPageDataCount)

現在只要一行解決



[C#] 一個無聊的冷知識關於已知運算常數編譯後的MSIL


寫一個有趣的小東西,大概算是 C# 冷知識,大概就跟台灣本島最北的國際機場是桃園中正機場而不是松山機場一樣冷知識

今天好奇問同事一個問題 假設我要 1+2+3+...+100 這答案

1. 我手動打 return 1+2+3+4+5+...+100; 

2. 我用迴圈  for (var i = 1; i <= 100; i++) 最後 return sum; 

3. 用梯形公式解  return ((1+100)*100)/2 

這三個到底 哪一個執行比較快


[C#] 使用 iCal.NET 產生 .ICS 行事曆事件+鬧鐘


雖然已經  21 世紀了,我也不知道為何業主非常喜歡 .ICS 這東西

不過,沒辦法收費辦事情,之前,我是自己大概看一下規格後自己產生,

但是最近客戶要做一些改動需求,不能夠這麼單幹了,查詢了一下,有一套一直有在更新的套件 Ical.Net


[C#] 在執行期下取得所有用到的套件版號資訊

2023-02-04

最近跟同事在測試一個 .NET Core 3.1 跟 .NET 6 的套件問題

我們再抓到底當時候用哪一個套件所產生的錯誤,因為我們一值 Nuget 換不同版本測試

這時候我們必須要知道到底現在(執行期)用的套件是哪一個版本

所以今天簡單筆記一下,就是在執行期的時候抓取所用的 package 版本



[C#] 關於MemoryCache GetOrCreate 遇到 thread-safe 的問題


同事 Roger 碰到一個小雷,跟我說過後,決定記錄一下

因為一些專案的緣故,開發環境是 ASP.NET Core  6 他使用的 

Microsoft.Extensions.Caching.Memory.MemoryCache 

但是在大量用戶存取(非同步) 的時候造成 Exception 


當麻許的超技八 2014 | Donma Hsu Design.