in

Darkthread

黑暗執行緒
All Tags » .NET (RSS)

Browse by Tags

  • C# 連線 HTTPS 網站發生驗證失敗導致基礎連接已關閉

    某台透過 .NET WebClient 物件爬網頁抓資料排程忽然出現: 基礎連接已關閉: 傳送時發生未預期的錯誤。 ---> System.IO.IOException: 驗證失敗,因為遠端群體已經關閉傳輸資料流。 The underlying connection was closed: An unexpected error occurred on a send. ---> System.IO.IOException: Authentication failed because the remote party has closed the transport stream 有趣的是...
    公佈在 黑暗執行緒 (Weblog)Jeffrey 發表於 08-19-2017
  • Json.NET 日期型別時區問題之終極解法

    一直以來常被 JSON 日期序列化時區問題困擾,問題主要發生於從資料庫查詢日期欄位,轉為 .NET DateTime 型別時其 Kind 屬性為 Unspecified,而以 DateTime.Now、DateTime.Today 取得的日期物件,Kind 則為 Local,二者不一致可能導致前端出現 8 小時時差。為解決問題,先前想到的做法是先宣告 JsonConvert.DefaultSettings DateTimeZoneHandling = DateTimeZoneHandling.Utc,將 DateTime 統一轉為 "yyyy-MM-ddTHH:mm:ssZ"...
    公佈在 黑暗執行緒 (Weblog)Jeffrey 發表於 08-08-2017
  • 方法多載(Method Overloading)與 dynamic

    方法 多載(Overloading) 是指多個名稱相同但參數個數或型別不同的方法,編譯器依傳入參數的個數、型別與順序決定使用哪一個方法。概念上多載讓方法變得更彈性,能接受不同參數組合,符合更多應用情境。舉個常見的例子,Convert.ToByte() 可傳入 int, short, string, float, double, decimal, char… 等輸入值,將其轉成 byte,傳入 string 時還能指定 16 進位(fromBase)或 IFormatProvider。 我有個根深蒂固的觀念-多載解析都發生在編譯期間,編譯器依參數將函式指標指向同名方法的其中一個。上回在談 擴充方法參數傳入...
    公佈在 黑暗執行緒 (Weblog)Jeffrey 發表於 08-03-2017
  • 程式範例-使用 Json.NET 將 Key/Value 陣列轉為物件屬性

    專案遇到的需求:程式接收來自外界的 JSON 資料,物件之各屬性內容以 KeyValuePair<string, string> 陣列儲存,序列化結果如下: { "modType" : [ { "Key" : "I" , "Value" : "獨立模組" }, { "Key" : "J" , "Value" : "聯合模組" } ], "source" : [ { "Key"...
    公佈在 黑暗執行緒 (Weblog)Jeffrey 發表於 08-02-2017
  • 擴充方法參數傳入 dynamic 型別出錯

    呼叫擴充方法時傳入 dynamic 型別參數,發生以下錯誤: 'Blah' has no applicable method named 'ExtMethod' but appears to have an extension method by that name. Extension methods cannot be dynamically dispatched. Consider casting the dynamic arguments or calling the extension method without the extension method...
    公佈在 黑暗執行緒 (Weblog)Jeffrey 發表於 07-31-2017
  • 筆記:C# 6.0 自動實作屬性初始化與運算式主體定義

    專案裡有個在父類別宣告 virtual List<string> MyProp { get; } = new List<string>(); ,接著在子類別 override MyProp, Visual Studio 2017 自動帶出 List<string> MyProp => base.MyProp; 。(術語為 Expression Body Definition 運算式主體定義) 子類別要傳回 "Prod1","Prod2" ,我差一點就接改成 List<string> MyProp ...
    公佈在 黑暗執行緒 (Weblog)Jeffrey 發表於 07-29-2017
  • COALESCE 發生字元設定不符合錯誤

    同事報案,Dapper 查詢 ORACLE 時使用 COALESCE() 遇到 ORA-12704: character set mismatch(字元設定不符) 錯誤。 我用以下程式成功重現問題:(jefftest2.t 欄位為 NVARCHAR2) static void Main( string [] args) { using (var cn = new OracleConnection(csStr)) { var list = cn.Query( "select 1 from jefftest2 where coalesce(t, :text) like '%'"...
    公佈在 黑暗執行緒 (Weblog)Jeffrey 發表於 07-18-2017
  • CODE-使用 C# 批次列印 PDF 檔案

    專案遇到批次列印 PDF 檔需求。 Acrobat Reader 或 Foxit Reader 等常用 PDF 軟體本身就具備傳參數直接列印功能,例如 Acrobat Reader 直接列印 PDF 之語法為:AcroRd32.exe /p /h "pdf路徑" "印表機名稱"(印表機名稱省略時由預設印表機輸出) 基於以上資訊,最直覺的做法是找出 Acrobat Reader EXE 檔(AcroRd32.exe)路徑,在 .NET 程式透過 Process.Start() 傳入 PDF 路徑及 /p /h 參數呼叫 Acrobat Reader 列印檔案...
    公佈在 黑暗執行緒 (Weblog)Jeffrey 發表於 07-14-2017
  • CODE - 數字轉英文 C# 函式庫

    專案遇上數字轉成英文的需求,例如:1234 需轉為 one thousand two hundred thirty four。 網路上有許多解決方案,程式範例、現成函式庫都有,選擇眾多之下,透過 NuGet 即裝即用才是王道。我找到一個,在 NuGet 搜尋 NUT,第一筆 Nut, Number To Text Converter & Money To Text Converter: 程式為 Open Source, 使用說明與原始碼在 Github 上: https://github.com/emrahyumuk/NUT-number-to-text 。使用說明略嫌簡略,「Use the...
    公佈在 黑暗執行緒 (Weblog)Jeffrey 發表於 06-30-2017
  • 筆記-使用 Dns.GetHostEntry 解析 IP 位址

    某排程使用以下程式碼產生 IEndPoint 以建立 Socket: IPEndPoint pEndPoint = new IPEndPoint(Dns.GetHostEntry(remoteHost).AddressList[0], remotePort); 其中用了 Dns.GetHostEntry(),好處是不管 remoteHost 傳入的是主機名稱還是 IP,一律可轉成 IPAddress。 排程在正式及測試環境運作多時,今天將程式移到另一網段機器上執行,remoteHost 為 IP 位址(假設為 192.168.1.1),與原本設定相同,確認新主機與 192.168.1.1 間網路暢通...
    公佈在 黑暗執行緒 (Weblog)Jeffrey 發表於 06-21-2017
第1頁,共26頁 (253個項目) 1 2 3 4 5 下一頁 > ... 最後一頁 »
Powered by Community Server (Non-Commercial Edition), by Telligent Systems