2014/09/24

[C#] Dynamic change log4net connectionString

因為遇到資料庫連線字串是要從另一個系統取得, 所以研究了一下 log4net 如何動態設定資料庫連線.

2014/06/05

[C# & Java] .Net 壓縮(GZipStream) VS. Java解壓縮

簡單說明需求:

  1. 利用 .Net 程式將一個 PDF 檔案壓縮, 並將其轉為BASE64字串.
  2. 呼叫一個 Java 的 Web Service, 將此 BASE64 字串傳送到另一端.
  3. Java 程式要轉換此 BASE64 字串, 並回存成 PDF 檔案.




這邊省略掉 Web Service 的傳輸說明, 僅說明 .Net 程式的壓縮與轉換 BASE64, 以及 Java 程式的 BASE64 轉換與解壓縮.

2014/02/18

[Regex]Match Overlaping Pattern

情境: 將字串 1 < 20 < 5 < 3 分解成
1 < 20
20 < 5
5 < 3
當利用Regex做字串比對時, 會發現比對是一連串的字串消化行為.
所以若試著使用 (\d+\s*[<>=]+\s*\d+) 這樣的Pattern作比對時, 會發現只能比對到如下的結果:
1 < 20
5 < 3

2013/03/12

[ASP.Net] Chrome找不到favicon.ico時會產生新Session

先前認為 ASP.Net 網站加入 Global.asax 檔, 就可正確地建立 Session.
(參考: Session.IsNewSession 與 Session.SessionID)
不過沒想到 Chrome 瀏覽器很奇怪地會去存取網站的 /favicon.ico, 並在此 .ico 檔不存在時, 建立新的 Session, 導致 Session 的使用與預期不符.
還好解決方案還算簡單:

  1. 為網站加入 favicon.ico 檔, 以避免 Chrome 因為該檔案產生 404 Error 而造成 Session 的重新建立.
  2. 在 MVC 專案中, 可在 router中加入一項 favicon.ico 的過濾.
    routes.IgnoreRoute("favicon.ico");
    

2013/01/21

[C#] Windows 目錄的長路徑與短路徑轉換

因為 Windows 的目錄/檔名允許空白字元, 所以造成寫命令列指令(ex: java)時往往要用雙引號(")包裝路徑, 以避免空白字元分隔了參數.
不過最近用了一個 SVG 轉圖的 Java 套件(SVG Rasterizer), 卻不接受雙引號框住的路徑. 反而要將路徑轉為無空白字元的短路徑才行.