Browse by Tags

小技巧-使用匿名型別快速捏出指定JSON格式
同事有個小需求,已知城市、區域及郵遞區號要產生如下規格的 JSON 餵到前端: { "rows" : { "row" : [ { "City" : "台北市" , "Area" : "文山區" , "ZIP" : "116" } ] } } 先前介紹過 JObject 結合 dynamic 的 花式玩法 可以快速達成目標: static void...
Posted 25 August 2017 11:44 PMJeffrey | with no comments 5,607
Filed under: ,
筆記-使用 Dns.GetHostEntry 解析 IP 位址
某排程使用以下程式碼產生 IEndPoint 以建立 Socket: IPEndPoint pEndPoint = new IPEndPoint(Dns.GetHostEntry(remoteHost).AddressList[0], remotePort); 其中用了 Dns.GetHostEntry(),好處是不管 remoteHost 傳入的是主機名稱還是 IP,一律可轉成 IPAddress。 排程在正式及測試環境運作多時,今天將程式移到另一網段機器上執行,remoteHost 為 IP...
Posted 21 June 2017 10:30 PMJeffrey | with no comments 3,246
Filed under: ,
TIPS-快速輸入INotifyPropertyChanged屬性
為了讓物件支援Data Binding,資料物件必須實作INotifyPropertyChanged介面,提供PropertyChanged事件,並在屬性值變動時,以便即時通知UI更新繫結對象的顯示內容。而實作INotifyPropertyChanged的類別,在宣告每個屬性時都要寫成如下格式: private bool connected; public bool Connected {     get { return connected; }    ...
Posted 13 March 2013 07:09 AMJeffrey | 3 comment(s) 8,905
Filed under: , , ,
再探WebClient具名登入FTP的絕對路徑問題
之前寫過一篇 System.Net.WebClient具名登入FTP的傳檔路徑問題 ,當時的結論認為WebClient在切換路徑時一律會加上user1,故無法存取user Home目錄以外的其他路徑。今天同事無意試出ftp:// ftpserver//booFolder//fooFolder//test.txt的寫法,能使用絕對路徑找到檔案。進一步研究才知道,ftp:// URI是可以指定絕對路徑的! 找到一篇MSDN 討論區文章 ,發現原來只要寫成ftp:// ftpserver//booFolder...
Posted 22 August 2012 06:24 PMJeffrey | with no comments 5,241
Filed under: ,
筆記-顯示民國年與閏年蟲
昨天是四年才出現一次的2/29,也是未滿四歲系統的小關卡,結果在 網路上 跟生活周遭還真目賭不少程式跌倒~~ 最常見的狀況是該顯示民國年的地方出現101/2/28而非101/2/29,究其根源,多半是當初程式在撰寫時使用了 DateTime.Today.AddYears(-1911).ToString("yyyy/MM/dd") 的簡便寫法,乍看之下比單獨抓出年份額外處理簡潔許多,卻隱藏了閏年判定基準不同的問題(民國101年是西元2012年為閏年,但減去1911為西元101年變成非閏年...
Posted 01 March 2012 06:09 AMJeffrey | 6 comment(s) 13,135
Filed under: ,
【笨問題專欄】不分大小寫的Dictionary<string, string>
今天要分享的 笨問題 是: 寫程式時偶爾會需要Key不分大小寫的Hashtable(Dictionary<string, string>),大家都是怎麼解決的呢? 我最近才頓悟... using System; using System.Collections.Generic; namespace ConsoleApplication1 { class Program { static void Main( string [] args) { //我以前都這麼處理不分大小寫的Hashtable...
Posted 19 April 2011 09:15 AMJeffrey | 14 comment(s) 12,702
Filed under: , ,
System.Net.WebClient具名登入FTP的傳檔路徑問題
之前介紹過使用System.Net.WebClient類別進行FTP傳檔的 精簡寫法 ,今天發現一個問題。 某個Windows IIS FTP網站開放使用特定帳號user1登入後上傳或下載檔案,使用IE以 ftp:// ftp_ip_address/user1/test.txt的方式可以順利下檔案,但執行以下程式: using System; using System.IO; using System.Threading; using System.Net; public class CSharpLab...
Posted 27 March 2011 08:48 AMJeffrey | 3 comment(s) 11,470
Filed under: ,
為dotConnect資料類別產生器加入客製邏輯
雖然Oracle已經釋出 ODAC for Microsoft Entity Framework 11.2.0.2.30 ,但尚在Beta階段,加上平台侷限.NET 4.0,目前工作專案如需在Oracle上使用LINQ,還是以 devart的dotConnect for Oracle 為主。 最近在使用dotConnect for Oracle開發時,發現預設產生Model類別會自動抓取Oracle欄位的註解欄位,用 XML Documentation 加註在類別屬性上: /// <summary>...
Posted 20 March 2011 10:56 AMJeffrey | with no comments 5,023
Filed under: , ,
TIPS-比對.NET Reference Type物件是否相等
跟同事討論到自訂類別物件的比對問題,原則上Reference Type類別的物件,除非兩個變數指向同一個Instance,使用==或Equals(...)測試都會得到false,就算是兩個Instance的內容分毫不差也是枉然。當物件被當成WCF/Web Service參數來回傳送,背地裡會被序列化再還原,便會變成內容相同的另一個Instance(其實只要在不同Process間傳遞,因無法共享記憶體,就一定會產生這種結果),此時若直接使用==或Equals比對,得到的結果永遠為不相同。 我們可以透過...
Posted 17 February 2011 06:36 AMJeffrey | 3 comment(s) 6,085
Filed under: ,
TIPS-NPOI修改Excel欄位後自動更新公式計算結果
最近專案裡,我都開始改用 NPOI 來處理Excel檔案的讀寫輸出,感覺上比Excel DOM、OLE DB for JET、甚至 CSV法 來得穩定輕巧,而NPOI功能的齊全程度更是讓我驚喜連連。 今天寫了個簡單套版程式要實現類似以下的概念: Template.xls中有寫好的公式計算兩個欄位的相加值,A3 = SUM(A1:A2) 我的程式會開啟Template.xls,將A1改成3、A2改成4,另存為Result.xls。(關於NPOI的基本介紹,可以參考MSDN上的 中文教學 ) using...
Posted 16 December 2010 06:18 PMJeffrey | 6 comment(s) 35,264
Filed under: , ,
TIPS-指定主控台應用程式的工作目錄
寫了一個轉檔用的Console Application,執行時會將處理過程資訊寫入執行目錄下的Log檔以利偵錯,經手動測試一切良好。 將轉檔程式納入SQL Job排程的步驟,卻發現程式有執行,卻沒有產生Log檔。想了一下,推測是工作目錄問題,到Windows\System32目錄下一找,果然Log檔乖乖地躺在那裡。換句話說,當SQL Job呼叫轉檔程式時,工作目錄被指向System32,所以new StreamWriter("blah.txt")就變成System32\blah...
Posted 03 November 2010 10:48 AMJeffrey | 1 comment(s) 5,394
Filed under: ,
TIPS-避免連續快速建立Random物件
這是在玩 三門問題 時程式沒寫好遇到的狀況,做個筆記。 以下程式會連續建立1000個Test物件,Test物件建構式中會產生A, B, C三個隨機亂數。大家有發現其中存在什麼問題嗎? using System;   namespace TestRandom { class Program { static void Main( string [] args) { for ( int i = 0; i < 1000; i++) { Test t = new Test(); Console...
Posted 10 September 2010 09:19 AMJeffrey | 5 comment(s) 7,233
Filed under: ,
網站下載程式碼後無法編譯
從 CodePlex 下載SourceCode回家玩,Build時卻發生錯誤: The "ValidateXaml" task failed unexpectedly. System.IO.FileLoadException: Could not load file or assembly 'file:///C:\WorkRoom\WP7\3rdParty\PhoneControls\Phone.Controls.Samples.dll' or one of its...
Posted 15 August 2010 03:58 PMJeffrey | with no comments 6,418
Filed under: , ,
LINQ to SQL-當心CHAR(1)欄位比對條件寫法的效能差異
今天意外發現,LINQ to SQL在轉譯CHAR(1)欄位比對時,可能因寫法不同而產生極無效率的SQL指令! 當資料表的欄位為CHAR(1)時,在DataContext裡產生的 對應物件型別 是char,而我們直覺上可能寫成CharCol == 'A'的比對條件。但今天發現一件可怕的事... CharCol == 'A'的寫法會被轉換成極無效率的WHERE UNICODE(CharCol) = 65 對SQL查詢效能略有研究的人都知道,Func(SomeCol)...
Posted 25 March 2010 09:00 PMJeffrey | with no comments 8,948
Filed under: , ,
TIPS-開啟共享資料夾上的ASP.NET專案
手上還有些ASP.NET專案仍在使用ODP.NET 9207,而我的工作機目前是Windows 2008 x64,很遺憾,這兩個傢伙 不來電 。為了繼續維護這些專案,我的折衷做法是另外掛了VM跑Windows 2003,把需要ODP.NET 9207的專案利到VM上開發、執行。 這幾天嚐試了新做法,將VM的ASP.NET資料夾分享出來,以工作機的VS2008開啟,cs檔案編修、更新都OK,更新完成直接連VM的IIS測試倒也還算順手。但有個問題: Could not load file or assembly...
更多文章 下一頁 »

搜尋

Go

<September 2017>
SunMonTueWedThuFriSat
272829303112
3456789
10111213141516
17181920212223
24252627282930
1234567
 
RSS
創用 CC 授權條款
【廣告】
twMVC
最新回應

Tags 分類檢視
關於作者

一個醉心技術又酷愛分享的Coding魔人,十年的IT職場生涯,寫過系統、管過專案, 也帶過團隊,最後還是無怨無悔地選擇了技術鑽研這條路,近年來則以做一個"有為的中年人"自許。

文章典藏
其他功能

這個部落格


Syndication