2018-09-30 06:44 AM 0 1,662
被 VBScript 語系問題咬傷多次,前幾天分享換帳號執行程式產生多餘空白一文後,在臉書專頁與留言區都接到網友回響,雖然晚了十年學會,日後用到的機率也微乎其微,還是寫篇筆記備忘。 先前遇到的狀況是 Windows 語系被設成英文,導致中文字元被解析成問號衍生錯誤。然而,除了依賴作業環境語系正確設定...
2018-09-28 09:17 PM 0 4,667
介紹最近這兩天學到的好用 DOS 指令。 工作上有些排程我還是習慣靠 DOS 批次檔解決,雖然這年頭 PowerShell 已是 Windows 管理腳本的主流,但批次檔簡單易上手,串接執行檔或 DOS 內建作業,例如:COPY、ROBOCOPY、7Zip...,不花太多腦筋三兩下便搞定。因此批次檔...
2018-09-27 09:34 PM 3 1,665
同事回報一枚詭異茶包,某上古神獸級的老 VBScript 排程,在更換執行身分後所輸出的固定欄寬文字檔錯誤,中文欄位右側填補空白數不對,多出三個空白。但讓人無法理解的是:程式完全沒動,換了執行身分權限不對還能理解,執行成功但結果多出空白是什麼鬼? 取回 Log 分析並檢視程式碼,推測與字數計算邏輯有...
2018-09-25 08:06 PM 8 12,111
將運作十年的 ASP.NET WebForm 的部落格翻寫成 ASP.NET Core,我的下一步是挑戰將部落格搬到 Linux 執行,才不辜負 .NET Core 可跨平台的能力。考察過 Linux 作業系統,我選擇了 CentOS,主要考量其以穩定性著稱,企業界接受度高,將來或許有機會靠它再混兩...
2018-09-24 10:18 AM 5 19,944
ASP.NET Core 最迷人之處就在於可以跨出 Windows 象牙塔,在伺服器的選擇上海闊天空,藉著改版部落格我已踏出第一步,接著我想真實挑戰跨平台這件事。 依據 W3Techs 最新調查,統計全世界一千萬個網站(其調查方法可參考這篇),其使用作業系統比例:Unix 佔 68.1%,Windo...
2018-09-23 09:40 AM 1 2,463
紀念抓了個把小時的茶包。 同事回報一個詭異狀況,某個使用者登入時遇到異常,由於是線上系統,只能靠 Log 推敲還原事發經過,但卻有個矛盾之處:Log 顯示使用者只登入過一次,但登入後的初始化作業 Log 卻有兩次記錄。為了找出第二次沒有登入卻觸發初始化的來源,翻箱倒櫃清查過所有相關程式碼,一一推敲被...
2018-09-21 09:17 PM 27 7,406
部落格又搬家囉,來不及參與本站過去的新同學應該不知"又"搬家的又字而來,先來段白頭宮女話當年好了... 我從 2004 年 1 月開始寫部落格,如今已堂堂邁入第 14 個年頭。想當年部落格興起,我也趕流行在 PCHome 個人新聞台開了個小站,寫了幾篇廢文瑣事雜文,但跟大部分的人一樣,興頭一過便放著...
2018-09-16 01:39 PM 2 7,376
透過 WebClient.DownloadFile() 或 DownloadData() 下載檔案對 .NET 老鳥而言是雕蟲小技(參考:CODE-使用C#程式從網站下載檔案 ),但此種寫法檔名需自行指定。若下載對象非靜態檔案,伺服器端程式會透過 Content-Disposition Respon...
2018-09-10 10:34 PM 4 6,740
發現 ASP.NET Core 有個特性造成困擾。 我們都知道在 cshtml 以 @textFromServerSide 嵌入字串時,預設會被 HtmlEncode 以防止 Cross-Site Scripting 攻擊,如要將字串視為 HTML 標籤處理需額外呼叫 Html.Raw()。但在...
2018-09-08 11:24 PM 4 17,324
在 ASP.NET Core 遇到轉換網址中文及特殊字元的需求,由於 .NET Core 不適合再用 System.Web.HttpUtility,爬文查到有個替代品 - System.Net.WebUtility.UrlEncode,開開心心上路卻踢到鐵板。 問題出在 System.Net....
2018-09-06 11:23 PM 0 1,659
六七八月休了三個月避暑,2018 下半年第一場由苗栗山城星光馬掀開序幕。 會場設在苗栗縣立體育場,下午四點半起跑,氣溫是嚇人的 35 度。 主持人報告本屆全馬大約有八百多人(這種天氣下場,堪稱八百壯士,對於跑步肯定是真愛),比賽也算小而美。 起跑時,起跑拱門正前方有一大片烏雲,可惜老沒...
2018-09-01 12:11 AM 0 5,297
同事報案,某網站委託 OP 上線出現異常,連至本機查看詳細錯誤訊息,ASP.NET 回報看不懂 </location> 元素。 上圖的 <location path="Area51">...</location> 是本次新增設定,是應...
2018-08-29 10:55 PM 1 6,587
野人獻曝,分享最近在寫的正式、測試台間的小規模資料搬移法。 情境是正式台跟測試台各有自己的資料庫,想將正式台某幾筆資料匯出,備份保存或是匯入測試台資料庫模擬測試;或是反過來,資料先在測試台輸入驗證無誤後要上線,希望將將輸入好的資料直接匯入正式台,省去在正式台重新登打的工夫。 這類情境用 En...
2018-08-26 11:36 AM 0 5,367
最近啟動了部落格轉移計劃,打算把我的部落格從 ASP.NET + SQL 移到 ASP.NET Core + SQLite。前陣子試出 Ubuntu + SQLite + Dapper 令我信心大增,後續進展也挺順利,寫了匯入程式,從 SQL 匯出物件轉 JSON,開始將 JSON 資料轉換成新平...
2018-08-24 10:52 PM 6 6,606
同事回報了一起奇怪狀況,追查之後又學到新東西。在我的觀念裡,Response.End() 時會立即中斷執行,有時還會觸發討厭的 ThreadAbortException。但在以下的 ASP.NET MVC 範例中,CheckAuth() 在查不到 Cookie 時會導向 /Login 並呼叫 R...
2018-08-22 10:53 PM 2 18,555
同事分享了一記讓 32 位元 .NET 程式突破 2GB 記憶體上限的密技,讓我不禁獻上了膝蓋,當然要轉分享一下。 .NET 編譯成 32 位元與 64 位元最大的差異在於可用記憶體上限,32 位元的記憶體定址上限為 4GB,其中 2GB 配置給作業系統核心模式,應用程式為使用者模式只有 2G...