試駕體驗-小工具程式 .NET Core 1.1 版試寫
.NET Core版本演進到 1.1,2.0 也已進入 Preview 階段,輕巧、高效能與跨平台是 .NET Core 最大的優勢,預估未來將成主流,雖然現階段用在工作上的機率不大,找到機會還是該提早練習體驗,以免時間到了來不及上車。最近用 .NET Core 1.1 寫了一支小程式,順手分享實作心得。先說小工具程式的用途,需求很簡單:已有兩個很小的 Web API 服務(就當是...
View Article【茶包射手日記】WebControl Render() 發生 ArgumentNullException
遇到詭異茶包一枚。同事 O 要新加入同事 D 與我共同開發的一個 Web Site 專案。同事 O 使用 Visual Studio 由 TFS 取得最新版本原始碼,編譯正常,卻在執行偵錯時發生錯誤:[ArgumentNullException: 值不能為 null。參數名稱: key(英文:Value cannot be null. Parameter name: key)]...
View ArticleNuGet 小技巧-NLog 套件 .NET Core 支援
前陣子開始體驗 .NET Core 開發後,最常面臨的問題多是某個慣用 .NET 基本元件、第三方程式庫是否在 .NET Core...
View Article使用 Visual Studio 2017 開發 RDLC 報表
很久沒用 RDLC 報表跟 Report Viewer,這幾天有機會試著在 VS 2017 編輯 RDLC 報表,發現做法跟以往不同,做個筆記。首先,Visual Studio 2015 時代 Report Service 報表被包含於 Microsoft SQL Servers Data Tools 安裝選項, VS2017 改為要額外下載安裝:Microsoft Rdlc Report...
View Article2017 海山馬
邁入第五年,海山馬是我唯一年年參加從未缺席過的賽事。(當然,這場命運的糾纏多少源自意外落馬再復仇雪恥的情節)今年第一次不再獨跑,莫名組了亂跑團,打算邊跑邊喇笛賽,隨意跑完就好。一樣是熟悉的起跑拱門布條,但今年把6塗掉改成7的痕跡好明顯,完全不需揣測琢磨,是去年那塊沒錯...
View Article使用物件陣列作為 RDLC 報表資料來源
我喜歡 RDLC勝過 Report Server 報表的原因之一是報表資料來源不限定來自資料庫,可以是自己組裝的 DataTable, 甚至是自訂資料物件,具有無比的應用彈性。這篇文章用一個極簡的範例,展示如何使用 List<T> 當成 RDLC 資料來源。我用中國重大歷史事件一覽表當素材:先設計一個包含 Year 與 Description 屬性的 Event...
View Article【笨問題】在 Chrome 如何檢視 SSL 憑證?
一直以來, 遇到 Chrome 提示安全連線問題,我的第一個動作是在網址前方按右鍵查看問題並檢視憑證資訊:(如下圖)不知從哪一版 Chrome 起,在不安全警示的右鍵選單不再顯示憑證問題詳細資訊,也無法檢視憑證資訊,只有一個「瞭解詳情」連結指向一篇 FAQ 說明。不得其門而入,迫不得已我只好改用 IE 開啟查詢憑證問題。鄉愿了好一陣子,今天痛下決心,認真爬文,才知道這是 Chrome 56...
View ArticleSQLite 資料庫 C# 程式範例-使用 Dapper
最近想在 Coding4Fun 專案使用資料庫管理英文單字及測驗結果。情境本身有些小尷尬,評估規模與複雜度,若用資料物件配合序列化存檔實作有點吃力,搬出 SQL Express 又顯殺雞用牛刀,於是我想起免安裝又超級輕巧的 In-Process 資料庫首選-SQLite!完全沒有 SQLite 使用經驗,開啟 Visual Studio 寫個極簡範例當入門吧!資料物件故意安排了...
View Article檔案總管右鍵選單開啟免安裝版Notepad++
使用安裝版 Notepad++ 的同學請忽略本文,祝你有美好的一天。(同場加映萬用檔案總管右鍵開啟技巧一則,繼續讀下去也無妨。)如果你選擇下載 Notepad++ 免安裝版(zip package、7z package、minimalist package),有個困擾是沒法在檔案按右鍵用「Edit with Notepad++」直接編輯檔案。為此 Notepad++...
View ArticleAJAX 網頁踩雷記:ASP.NET MVC 一秒變蝸牛
來看一個有趣實驗。以下是個簡單的 ASP.NET MVC Controller,在 Index View 透過 AJAX 呼叫向 Server 讀取資料,SimuAjaxCall 則模擬 AJAX 呼叫動作,使用 Thread.Delay() 延遲指定秒數後傳回字串結果:using System;using System.Collections.Generic;using...
View ArticleSession 有毒,所以呢?
上週我才意外發現:古老的 Session 不只會害 ASP.NET WebForm 大排長龍,就連 ASP.NET MVC Controller 也難逃魔掌,對 AJAX 網站效能的殺傷力直逼 BOSS 等級!Session 是 ASP 時代就存在的活化石,允許每個工作階段有自己專屬的資料存放空間,不必費心規劃參數傳遞方式,在任一 ASPX...
View Article將參照 DLL 併入單一 WPF 執行檔
將 .NET 執行檔跟所參照 DLL 合併成單一 EXE 檔的做法之前介紹過(Visual Studio編譯小技巧:工具程式一檔搞定 ),在專案用 NuGet 安裝 MSBuild.ILMerge.Task 就能輕鬆搞定。之前在 Console Application 用得挺順利,今天用在 WPF 卻卡在一個錯誤無法編譯:The item...
View ArticleRDLC 報表無法設定每頁顯示標題列
RDLC 呈現多頁報表時,預設並不會每頁重新顯示標題列。關於標題列要不要重複,Tablix Properties 有相關選項:如下圖所示,Row Headers 跟 Column Header 都有 Repeat headers rows/columns on each page 選項可勾選。經實測,這選項根本沒用啊,就算勾選也只有第一頁會出現標題列。爬文發現當報表為表格式配置(另一種是矩陣式...
View Article使用非 IE 瀏覽器列印 Reporting Service 報表
曾被 Reporting Service 報表列印 ActiveX 元件版本問題惡整過,在羚羊簇擁之下一路初探、二探到三探,記憶猶新。造成我有個根深蒂固觀念-ReportViewer 藉由 ActiveX 元件解決列印需求,所以在非 IE 瀏覽器上不能直接從網頁印報表是天經地義的事,遇到同事詢問,我的回答都是「無解」。但前陣子研究使用 Visual Studio 2017 開發 RDLC...
View Article實例分析-彈出式視窗被瀏覽器封鎖
昨天剛在公司解完案例,今天又在日常生活遇到實例,老天爺這暗示明顯無比,趕緊來篇筆記,以防出門雷劈!最近迷上蝦皮拍賣。能跟 LINE 一樣跟賣家溝通超方便,尤其問完問題馬上接到賣家的實體照片真令人感動,不用出門與人面對面又保有臨櫃交談的即時性,真是阿宅的救星。遇到一個賣家很妙,凌晨四點多發訊息通知我補寄商品今天會到(不知對方有沒有早起的拎杯秒回「謝謝」嚇到?...
View Article初試 Bash on Ubuntu on Windows 10
心血來潮,想試試 Windows 10 的新玩意兒 – Bash on Ubuntu on Windows,依我個人看法,Bash on Windows 最重要的意義不是用 Linux Shell 換掉 DOS Shell,而在於用 Windows 10 直接跑 Ubuntu 原生程式,就像 iOS 可以跑 Android App 一樣,是令人雀躍的一大突破!安裝 Bash on Windows...
View Article【茶包射手筆記】NUnit 發生 OutOfMemoryException
從 Github 取得 ServiceStack.Text想幫忙修 Bug。專案使用 NUnit 跑單元測試,為方便測試,在 Visual Studio 2017 安裝 NUnit 3 Test Adapter,安裝後可由 Test Explorer 直接執行測試。不料,編譯後 Test Explorer 只找到一項測試,Output / Tests 則出現大量...
View Article筆記-使用 Dns.GetHostEntry 解析 IP 位址
某排程使用以下程式碼產生 IEndPoint 以建立 Socket:IPEndPoint pEndPoint = new IPEndPoint(Dns.GetHostEntry(remoteHost).AddressList[0], remotePort);其中用了 Dns.GetHostEntry(),好處是不管 remoteHost 傳入的是主機名稱還是 IP,一律可轉成...
View ArticleVS2017 Git SSL 憑證無效問題
少數人會遇到的冷門問題,使用 Visual Studio 連上 Github 與私有 Git 伺服器時發生 SSL 憑證錯誤:Git failed with a fatal error. unable to access '…': SSL certificate problem: unable to get local issuer certificate可能原因有二:網站連線時 SSL...
View Article關閉 VS2017 Chrome 偵錯整合
使用 Visual Studio 2017 偵錯網頁,馬上發現不同:VS2017 增加了對 Chrome 的整合度。當選擇使用 Chrome 檢視網站,按下 F5 偵錯網站,VS2017 將另起一個獨立 Chrome 程序(過去會在既有 Chrome 程序開啟新分頁),歷經短暫的等待(畫面如下),VS2017 會經由 URL 注入程式,透過 Chrome DevTools Protocol與 F12...
View Article