in

Darkthread

黑暗執行緒

JeffreyBlog

  • 使用 Visual Studio 2017 開發 RDLC 報表

    很久沒用 RDLC 報表 跟 Report Viewer,這幾天有機會試著在 VS 2017 編輯 RDLC 報表,發現做法跟以往不同,做個筆記。 首先,Visual Studio 2015 時代 Report Service 報表被包含於 Microsoft SQL Servers Data Tools 安裝選項, VS2017 改為要額外下載安裝: Microsoft Rdlc Report Designer for Visual Studio - Visual Studio Marketplace...
  • NuGet 小技巧-NLog 套件 .NET Core 支援

    前陣子開始體驗 .NET Core 開發後,最常面臨的問題多是某個慣用 .NET 基本元件、第三方程式庫是否在 .NET Core 能繼續使用。此時就能明顯看出西瓜偎大邊效應,常用、熱門、活躍的程式庫,跟隨新平台、新技術的腳步會比較快,某些冷門或開發社群已不再投入的程式庫,平台切換之際可能就是說再見的時刻,將留在港邊目送你航向大海。(所以選擇第三方程式庫時採取「拿香跟著拜」策略是道理滴) 上次提到,我常用的 Json.NET、NLog 都已支援 .NET Core。Json.NET 隨裝隨用沒遇到什麼問題...
  • 【茶包射手日記】WebControl Render() 發生 ArgumentNullException

    遇到詭異茶包一枚。 同事 O 要新加入同事 D 與我共同開發的一個 Web Site 專案。同事 O 使用 Visual Studio 由 TFS 取得最新版本原始碼,編譯正常,卻在執行偵錯時發生錯誤: [ArgumentNullException: 值不能為 null。參數名稱: key(英文:Value cannot be null. Parameter name: key)] System.Collections.Generic.Dictionary`2.FindEntry(TKey key...
  • 試駕體驗-小工具程式 .NET Core 1.1 版試寫

    .NET Core 版本演進到 1.1 ,2.0 也已 進入 Preview 階段 ,輕巧、高效能與跨平台是 .NET Core 最大的優勢,預估未來將成主流,雖然現階段用在工作上的機率不大,找到機會還是該提早練習體驗,以免時間到了來不及上車。最近用 .NET Core 1.1 寫了一支小程式,順手分享實作心得。 先說小工具程式的用途,需求很簡單: 已有兩個很小的 Web API 服務(就當是 Microservice 概念吧)。其中一個姑且稱之 WebStatus Service,負責監控多台...
  • 花 8.29 英鎊拯救世界,WannaCrypt 勒索病毒中場休息

    好戲劇化的發展,震驚全球的 WannaCrypt 勒索病毒(嚴格來說是蠕蟲),在一位英國資安研究員註冊某個網域名稱後,中止了第一波攻擊。(讓我想起電影世界大戰裡莫名烙賽停擺的外星人) 照片來源: http://thestagblog.com/tuesdayapocalypse-waroftheworlds/ 相信大家應該都從各大媒體看到報導了,WannaCrypt 勒索病毒參考先前美國國安局流出的攻擊程式,利用 Windows 的一個資安漏洞(微軟於今年 3 月已釋出安全更新),能主動攻擊感染同一區域網路...
  • CSV 轉換利器-ServiceStack.Text

    做專案免不了遇到匯出或讀取 CSV 的需求,將物件轉成逗號分隔字串看似小菜一碟,用 C# 串字串也能搞定,但魔鬼在細節裡:字串值如包含逗號就要用雙引號包夾,遇到雙引號要置換成兩個雙引號,如果字串內容有換行符號更是讀取識別時的一大挑戰… 不管是匯出或解析 CSV 都得費不少力氣。最近發現一個處理 CSV 的強大元件-ServiceStack.Text 的 CsvSerializer! ServiceStack 是一套用於快速打造 SOA 服務的 Framework 工具組(可取代 WCF、WebAPI...
  • 閒聊:用 LINQ 還是自己寫 SQL?

    前陣子在網路看到「該靠 EF(LINQ)還是自幹 SQL 語法(甚至一律轉成 SP)」 的討論,我的「個人偏好」挺明確-CRUD 可靠 EF/ORM 省工,複雜查詢或操作則走 Dapper 自己寫 SQL。不過它只算是「偏好」,其效益因客觀條件劇烈變動,若無視開發者背景、人力資源配置、系統需求等各種因素,無限期支持 OOO 一定比 XXX 好,肯定會在特定情境踩坑。既然沒有一體適用的「建議」,我就只從開發老人的角度聊聊決策理由及優劣分析,不陷入追求「最佳解」的迷思。(充其量只會有符合某種情境的「最適解...
  • 使用 WebClient FTP 上傳檔案發生 553 錯誤

    在 .NET 要 FTP 上傳檔案,最精簡有效的做法莫過於 使用 WebClient ,例如: using System; using System.IO; using System.Net; public class CSharpLab { public static void Test() { string userName = "ftpAccount" ; string password = "ftpPassword" ; string uploadUrl...
  • LINE 反斜線變日圓符號(¥)之謎

    電腦版 LINE 輸入與顯示時老將磁碟路徑的反斜線符號「\」改成日圓符號「¥」,挺困擾的: 推測可能與 Meiryo 明瞭體 字型有關。如果你的 Windows 有安裝日文語言選項,以下網頁可證明在 Meiryo 字型中反斜線符號會變成 ¥。 原因出在並不是每個國都使用 \ 作為路徑分隔字元,日本是用 ¥,而韓國則是用 ₩。 參考   從 維基百科 找到日韓鍵盤配置圖範例,右上角 Backspace 左側我們習慣的反斜線鍵位置,在日本為 ¥,在韓國為 ₩,也可證明這點: 知道是字型問題就有了方向...
  • ODP.NET 無法讀取 Oracle 欄位計算結果

    同事報案,使用 Dapper + ODP.NET 呼叫某 Procedure,以 Ref Cursor 取資料時出現型別轉換錯誤,一路深入追查,發現問題跟是否用了 Procedure、Ref Cursor、 Dapper 都沒有關係,錯誤發生在 ODP.NET 層。 有問題的查詢涉及幾個高精確度的欄位運動,經過一番簡化,我先找出用下列查詢可重現問題。 使用 PL/SQL Developer 查詢不會出錯,但使用 ODP.NET OracleDataReader dr["N"]...
  • 【茶包射手日記】VBScript ASC() 中文傳回 63

    同事報案,某 上古神獸 古老 ASP VBScript 移至 Windows 2012R2 x64 主機後執行出誤,深入追查,問題出在執行 ASC() 解析中文字元一律傳回 63 (?)。 首先聲明,ASC() 並不支援 Unicode,理應改用 ASCW() (參考: 1   2 ),但舊程式汰換在即,能運行就不想投資時間修改重測。程式原本在 Windows 2003 x86 執行正常,一開始以為是 Windows 版本較新造成 VBScript ASC() 行為改變,寫了一小段檢測程式在本機...
  • 2017 三重馬

    為達成上半年每月一的目標,報了 前年跑過 的三重馬,路線雖單調但好跑,補給花樣不多但平實,地點近加上報名費親民,算是鞏固業績的好選擇。 前年遇到下雨,今年氣象預報是多雲到晴的好天氣…(抖) 半馬晚十分鐘出發,全馬只有七百多人參賽,是我愛的「小而美」! 六點起跑,起跑沒多久看到紅色朝陽,是跑馬族(或是公園養生操阿公阿媽)比一般正常人更有機會看到的景色。 路線從三重重陽橋跑到八里媽媽嘴咖啡折返,來回 21K,半馬一趟,全馬兩趟。跑第二次已無驚喜感,破 SUB4 後對成績亦無期待,便輕鬆跑隨便看。補給就是簡單的水...
  • MS OracleClient 改用 ODP.NET 之數字型別差異

    System.Data.OracleClient 被微軟宣告為 過時不建議使用 ,是你知道我知道連獨眼龍都知道的事,硬要繼續用甚至會有 效能懲罰 。所以在維護舊專案時,看到還在用 System.Data.OracleClient 的程式,我都會順手換成 Managed ODP.NET 。(若為 .NET 3.5 平台則只能用 Unmanaged ODP.NET) 近日踩到小鐵釘一根。 如下圖,程式原本使用 System.Data.OracleClient,執行正常: 改 using Oracle...
  • 【茶包射手日記】問題 JS 導致 ASP.NET MVC 所有 View 無法顯示

    查出某支 JavaScript 有錯,修改後更新到網站,沒想到整個 ASP.NET MVC 網站壞光光,所有 View 都無法顯示,出現如下錯誤: '/' 應用程式中發生伺服器錯誤。 並未將物件參考設定為物件的執行個體。 描述: 在執行目前 Web 要求的過程中發生未處理的例外狀況。請檢閱堆疊追蹤以取得錯誤的詳細資訊,以及在程式碼中產生的位置。 例外狀況詳細資訊: System.NullReferenceException: 並未將物件參考設定為物件的執行個體。 原始程式錯誤: 行...
  • 使用 Dapper 接收 Oracle Ref Cursor

    沒實際遇到,但接連兩次被問到使用 Dapper 如何從 Ref Cursor 讀取結果,看來上天已強烈暗示我沒 PO 文分享,趕緊補上以免逆天遭譴。 爬文找到的做法都是靠自訂 OracleDynamicParameter 處理 Ref Cursor 對應轉換,循著 Stackoverlow 討論 找到一個 Gist 分享的 現成版本 ,將 OracleDynamicParameter.cs 加入專案,便可使用 OracleDynamicParameters 物件 .Add("cursor_name"...
更多文章 下一頁 »
Powered by Community Server (Non-Commercial Edition), by Telligent Systems