Category: .net

題目讀來有點不知所云,用實例講解才會清楚。在ASP.NET MVC Controller端建立的物件,想在輸出View的同時轉成JavaScript端物件,最直覺的做法是將物件轉為JSON字串,再以Razor語法內嵌一段var dataItem = { "num_prop":...

有個古老資料庫,裡面還有NTEXT型別欄位(SQL 2005加入NVARCHAR(MAX)後,應該沒人想用TEXT/NTEXT了),用Dapper執行一段SQL更新NTEXT欄位,發生古怪錯誤。 指令如下: cn.Execute("UPDATE SomeTable SET N...

多年前發展過一種可快取查詢:呼叫GetCachableData函式時傳入Cache Key、查詢或產生資料Callback函式、Cache保留期限(或指定閒置未用多久自動清除)三個參數,GetCachableData會依「若Cache有資料就直接沿用;若Cache無資料則當場產生並存入Cache」...

我經常寫小工具程式,不用安裝程式,單一EXE檔隨Copy隨用是最理想的部署設計。不過,程式稍稍複雜就難免依功能屬性拆分多個專案,有時需用到跨專案的共享程式庫,至於引用Json.NET、Dapper、NLog等必備套件的情況更是普遍。例如以下專案,Tool為Console Application(E...

前陣子有篇文章提到微軟中止.NET 4.0/4.5/4.5.1技術支援,結論是:1) Windows預設會自動升級到.NET 4.5.2,2) 用.NET 4.0/4.5/4.5.1寫的程式不需修改就可直接執行(僅有極少例外)。 很妙的是,每回建立新專案,我下意識總是挑選較低版本,例如:開.N...

前幾天回答網友QOO提問,又多學會「AssemblyFileVersion不支援自動跳號,未設定時會引用AssemblyVersion」新知識,知道這些就夠了嗎?並沒有,今天又踩一雷,再獲冷知識一枚。 同事升級專案的Newtonsoft.Json.dll到7.0.1版,NuGet顯示版本為7....

在.NET,舉凡變數、類別、命名空間名稱,若由多個英文字組成(例如:Temp Folder Name),大小寫有兩種規則可遵循: Pascal命名法 第一個字母及所有單字的第一個字母都用大寫,如TempFolderName Camel命名法 第一個字母取小寫,隨...

NG筆記3-使用TypeScript 一文曾提及「另建程式碼產生器專案,將ViewModel規格轉成JavaScript(或TypeScript)、C#類別」的做法,方便Client及Server端共享一致的強型別ViewModel,規格如有更動,重跑程式產生器就能同步更新。 日前網友Ark詢...

async/await是.NET 4.5+加入的新玩意兒。.NET 4推出的Task簡化了非同步程序的撰寫,async/await則讓程式碼簡潔度更上一層樓。如果大家對Thread、Task、aysnc、await還不熟悉,我找到兩篇還算淺顯易讀的對岸文章-async & await 的...

我想在ASP.NET MVC裡用foreach列舉所有Cookie,HttpRequestBase.Cookies是不二人選。Cookies屬性的型別為HttpCookieCollection,既然是HttpCookieCollection,foreach拿到的應該就是HttpCookie吧?很...

用了這麼多年,這幾天才發現SteamReader的一項行為。故事從jQuery.post內容給MVC接收說起… 我有一段MVC Action程式,會從Request.InputStream接收來自jQuery.ajax送來的內容,為求簡化起見,就拿舊文範例來示範: @{ ViewBa...

手邊有個自訂傳輸管道的加密需求,預期資料量可能高達數MB,為提升效能,先壓縮再加密是不錯的做法,既可減少加密時間及成本,又能節省頻寬,一舉兩得。 過去用C#寫過DES加密,也寫過GZip壓縮,把兩個結合起來不是難事。如果不要想太多,取得待處理資料(byte[]),用GZipStream壓縮可得...