Protocol Buffers是Google內部使用的跨語言資料格式標準,在資料體積及序列化/反序列化速度上表現亮眼,相信以下的Benchmark圖表已具備足夠的說服力,說明本文的研究動機:(Protocol Buffers拿下速度及資料量雙料冠軍) 圖表來源:http://theb...

早先我們觀察過WCF HTTP vs TCP的傳輸量差異,該測試呼叫GetData()作業傳入數字接回字串,並不算真的用到WCF的DataContract/DataMember序列化功能,故這次改聚焦在物件資料的序列化上,再做一次比較。 我小幅改寫Visual Studio WCF專案範本的Co...

在範例程式看到OperationContract(IsOneWay=true),不求甚解以為是指單向呼叫(傳回值是void)跟著亂抄亂用(錯誤示範,大家不要學),搞出一些奇怪現象才回頭查,發現觀念錯得離譜。 IsOneWay是用來定義單向合約沒錯,但重點在「呼叫端呼叫WCF作業,但不期待收到任...

從認真跑步起,GPS錶就是我不可或缺的重要裝備,一開始只是不想在操場繞圈要扳手指計數,後來學會看Pace抓配速,最後則是用來盯緊心跳,意不在挑戰最大心率再創佳成績,而是年紀老大不小,得當心操過頭一路跑去見佛祖。 第一支GPS錶也是伴我最久的大頭錶GH-625M,硬式心跳帶,於2012年四月入手。...

前面的文章出現過BasicHttpBinding、NetTcpBinding,又提到「BasicHttpBinding接受匿名存取,NetTcpBinding需要認證」的預設行為,後續還會看到一堆BlahBlahBinding,這裡花點時間做個簡單介紹。 BasicHttpBinding、Ne...

稍早我們見識到net.tcp不容易偵錯的黑暗面,但net.tcp的好處在於通訊協定簡單,較HTTP簡潔輕巧,資料採二進位格式,體積比SOAP XML小。由於資料傳輸較少,預期會有較好的執行效能。但以上所說都是按理推想,我對二者資料傳輸量的真實差異感到好奇,便用Microsoft Network ...

WCF設定的繁瑣難搞向來惡名昭彰,這回重新評估WCF,意外發現浪子回頭的一絲曙光 XD Visual Studio 2012起默默在設定檔的右鍵選單增加了「Edit WCF Configuration」選項: 嘩!有GUI的WCF設定編輯器耶~(正式名稱為Microsoft Servic...

本機測試完畢,準備將WCF部署到VM進行更多觀察,才誇WCF 4設定精簡,馬上踩到小圖釘。 沿續前文範例,將WcfWas部署到一台Windows 2012R2上,比照本機操作安裝「TCP啟用」設定IIS使用「http,net.tcp」協定,執行WCFClient程式,HTTP傳輸OK,執行ne...

前陣子對.NET Remoting、WCF、Web API做了評估,重新肯定WCF在Client/Server皆為.NET情境下的優越性,決定展開一系列對WCF較深入的研究,重新評估這個被我嫌棄多年的技術。 我深信「開發者擁有選擇或棄用某項技術的決定權,但必須基於理性分析評估優劣,而非單憑模糊...

專案陸續改用Managed ODP.NET,實際用過幾回,發現設定TNS_ADMIN環境變數最省事直覺,只要維護一份TNSNAMES.ORA,設定一次即可供所有網站共用,TNS_ADMIN的變數名稱又很清楚明瞭。(參考:指定TNSNAMES.ORA共有config設定/複製TNSNAMES.OR...

一切只起因我想試試WCF net.tcp,卻遇上近年來數一數二的刁鑽茶包,纏鬥超過一天… 故事從前幾天寫的.NET Remoting、WCF、Web API、Socket評估文說起,結論指出當Client/Server都是.NET,WCF仍是極出色的選項,尤其使用TCP管道配合二進位格式傳輸,...

遇過不少次Windows更新或Windows功能安裝失敗,上網爬文得到的回答往往都是先用SFC(系統檔案檢查程式)檢查系統檔案是否遺失或毁損,嚴然已是排除這類問題的SOP,就跟修車要先拆坐墊一樣天經地義。這幾天剛好有一次SFC檢測及系統檔案修補經驗,特筆記備忘。 我遇到無法安裝Windows功...

Hackpad是G0V開源社群愛用的線上文件協同編輯平台,在學運期間通過1500人壓測一戰成名。 Hackpad 基本是個簡便易用的網路共筆平台,支援多人共用即時更新,編輯文字、上傳圖檔還算便利,能追蹤編修歷程,比Wiki系統好用,我們開發團隊一直覺得用它整理系統架構文件、共用程式庫規格、茶包...

周遭幾個系統正面臨相似抉擇:使用.NET Remoting的舊程式,需與伺服器建立連線進行高頻率雙向傳輸,計劃翻寫新版本。.NET Remoting是.NET 2.0時代的技術,十年後多了不少選擇:WCF、Web API、SingalR… 選擇變多煩惱跟著來,該怎麼選擇才對? 面對這道選擇題,我...

前一篇文章探討了「WHERE 1=1動態查詢條件組裝」的效能問題,並介紹如何利用C#語言特性簡單寫出沒有多餘WHERE 1=1的馬甲線SQL指令。而在前文提到的Code Review會議,還有一招不需要組裝WHERE指令的做法也被提及。 //REF: http://goo....

稱不上DB咖的我,反常地連寫兩篇SQL筆記,其實都是研究「動態產生SQL查詢條件」議題的副產品,這篇才算步入正題,鴨架子湯先來兩碗,烤鴨才上桌,哈!但這樣安排是對的,以下探討有一部分需要先前筆記的基礎才好聊下去。 兩週前,參加一場Code Review討論,會中大家剛好聊到「動態產生SQL查詢...