| | | 0 | | 6,967 |
題目讀來有點不知所云,用實例講解才會清楚。在ASP.NET MVC Controller端建立的物件,想在輸出View的同時轉成JavaScript端物件,最直覺的做法是將物件轉為JSON字串,再以Razor語法內嵌一段var dataItem = { "num_prop":...
| | | 0 | | 5,043 |
有個古老資料庫,裡面還有NTEXT型別欄位(SQL 2005加入NVARCHAR(MAX)後,應該沒人想用TEXT/NTEXT了),用Dapper執行一段SQL更新NTEXT欄位,發生古怪錯誤。 指令如下: cn.Execute("UPDATE SomeTable SET N...
| | | 5 | | 12,454 |
多年前發展過一種可快取查詢:呼叫GetCachableData函式時傳入Cache Key、查詢或產生資料Callback函式、Cache保留期限(或指定閒置未用多久自動清除)三個參數,GetCachableData會依「若Cache有資料就直接沿用;若Cache無資料則當場產生並存入Cache」...
| | | 24 | | 57,994 |
我經常寫小工具程式,不用安裝程式,單一EXE檔隨Copy隨用是最理想的部署設計。不過,程式稍稍複雜就難免依功能屬性拆分多個專案,有時需用到跨專案的共享程式庫,至於引用Json.NET、Dapper、NLog等必備套件的情況更是普遍。例如以下專案,Tool為Console Application(E...
| | | 0 | | 7,329 |
前陣子有篇文章提到微軟中止.NET 4.0/4.5/4.5.1技術支援,結論是:1) Windows預設會自動升級到.NET 4.5.2,2) 用.NET 4.0/4.5/4.5.1寫的程式不需修改就可直接執行(僅有極少例外)。 很妙的是,每回建立新專案,我下意識總是挑選較低版本,例如:開.N...
| | | 2 | | 15,323 |
2016/1/12是個大日子,有好幾項微軟產品結束技術支援,包含: Windows 8 IE 8/9/10 (狂賀) .NET 4.0/4.5/4.5.1 生活周遭的Windows 8都已免費升級到Windows 8.1或Windows 10,受影響者應該有限。而官方...
| | | 0 | | 10,692 |
前幾天回答網友QOO提問,又多學會「AssemblyFileVersion不支援自動跳號,未設定時會引用AssemblyVersion」新知識,知道這些就夠了嗎?並沒有,今天又踩一雷,再獲冷知識一枚。 同事升級專案的Newtonsoft.Json.dll到7.0.1版,NuGet顯示版本為7....
| | | 0 | | 8,188 |
組件版本相容是常見的.NET實務問題。用以下的解決方案舉例,假設有個 MyConApp Console Application參照 MyLib Class Library,兩個專案都用NuGet裝了Newtonsot.Json(Json.NET)組件,差別在MyConApp用的是Json.NET...
| | | 8 | | 12,946 |
在.NET,舉凡變數、類別、命名空間名稱,若由多個英文字組成(例如:Temp Folder Name),大小寫有兩種規則可遵循: Pascal命名法 第一個字母及所有單字的第一個字母都用大寫,如TempFolderName Camel命名法 第一個字母取小寫,隨...
| | | 0 | | 5,646 |
在ASP.NET MVC裡定義了一個擴充方法(Extension Method),打算在CSHTML中使用:(以下擴充方法為脫褲子放屁,純屬示範,為String新増一個GetLength()方法傳回字串長度) namespace BBDPWeb.Models { public sta...
| | | 4 | | 9,747 |
NG筆記3-使用TypeScript 一文曾提及「另建程式碼產生器專案,將ViewModel規格轉成JavaScript(或TypeScript)、C#類別」的做法,方便Client及Server端共享一致的強型別ViewModel,規格如有更動,重跑程式產生器就能同步更新。 日前網友Ark詢...
| | | 5 | | 46,205 |
async/await是.NET 4.5+加入的新玩意兒。.NET 4推出的Task簡化了非同步程序的撰寫,async/await則讓程式碼簡潔度更上一層樓。如果大家對Thread、Task、aysnc、await還不熟悉,我找到兩篇還算淺顯易讀的對岸文章-async & await 的...
| | | 0 | | 5,749 |
我想在ASP.NET MVC裡用foreach列舉所有Cookie,HttpRequestBase.Cookies是不二人選。Cookies屬性的型別為HttpCookieCollection,既然是HttpCookieCollection,foreach拿到的應該就是HttpCookie吧?很...
| | | 0 | | 14,696 |
用了這麼多年,這幾天才發現SteamReader的一項行為。故事從jQuery.post內容給MVC接收說起… 我有一段MVC Action程式,會從Request.InputStream接收來自jQuery.ajax送來的內容,為求簡化起見,就拿舊文範例來示範: @{ ViewBa...
| | | 5 | | 10,839 |
手邊有個自訂傳輸管道的加密需求,預期資料量可能高達數MB,為提升效能,先壓縮再加密是不錯的做法,既可減少加密時間及成本,又能節省頻寬,一舉兩得。 過去用C#寫過DES加密,也寫過GZip壓縮,把兩個結合起來不是難事。如果不要想太多,取得待處理資料(byte[]),用GZipStream壓縮可得...
| | | 2 | | 8,714 |
依據MSDN文件: If Count is less than the capacity, this method approaches an O(1) operation. If the capacity must be increased to accommodate the new ...