【技術開發焦點】C#多線程學習(六) 互斥對象
系列文章導航:C#多線程學習(一) 多線程的相關概念C#多線程學習(二) 如何操縱一個線程C#多線程學習(三) 生產者和消費者C#多線程學習(四) 多線程的自動管理(線程池)C#多線程學習(五) 多線程的... [詳細]
系列文章導航:C#多線程學習(一) 多線程的相關概念C#多線程學習(二) 如何操縱一個線程C#多線程學習(三) 生產者和消費者C#多線程學習(四) 多線程的自動管理(線程池)C#多線程學習(五) 多線程的... [詳細]
系列文章導航:C#多線程學習(一) 多線程的相關概念C#多線程學習(二) 如何操縱一個線程C#多線程學習(三) 生產者和消費者C#多線程學習(四) 多線程的自動管理(線程池)C#多線程學習(五) 多線程的... [詳細]
系列文章導航:C#多線程學習(一) 多線程的相關概念C#多線程學習(二) 如何操縱一個線程C#多線程學習(三) 生產者和消費者C#多線程學習(四) 多線程的自動管理(線程池)C#多線程學習(五) 多線程的... [詳細]
系列文章導航:C#多線程學習(一) 多線程的相關概念C#多線程學習(二) 如何操縱一個線程C#多線程學習(三) 生產者和消費者C#多線程學習(四) 多線程的自動管理(線程池)C#多線程學習(五) 多線程的... [詳細]
緣起 每次有新技術發布時,我們總能感受到兩種截然不同的情緒:一種是恐懼和抵抗,伴隨著這種情緒的還有諸如"C# 2.0用的挺好的,為什么要在C# 3.0搞到那么復雜?"或者"我還在使用C#1.0呢?"等言辭;...
軟件工程是一門獨特的工程藝術,需要解決的是不斷改變的需求變化。而對于WCF,對于SOA,由于涉及的是對多個系統之間的交互問題,如何有效地解決不斷改變的需求所帶來的問題就顯得更為重要:Service端...
在本篇文章上一部分Order Processing的例子中,我們看到原本已Collection形式定義的DetailList屬性(public IList<TDetail> DetailList),在Data Contract中卻以Array的方式體現(public OrderDetai...
通過第一部分的介紹,我們可以體會到,WCF 的Data Contract在CLR Type和Neutral Contract之間搭建了一座橋梁,彌合了.NET世界和廠商中立世界的差異。通過WCF Data Contract我們將CLR Data Type暴...
|
WCF客戶端不能用在Using語句塊中,因為它可能會拋出不可預知的異常。即使你捕獲了異常,仍有可能一直保持連接。讓我們來看看形成這一問題的歷史原因,并提出幾個補救措施。 在.NET中,資源管理的基礎就是IDispos...
文/Dreamer 按:這幾天我一直在寫這篇東西,本來是胸有成竹,沒想到后來越寫越發現自己在這個題目下有太多話想說,而以我現在的能力又不能很好地概括總結,以至于越寫越長,文章結構也變得混亂,到后來修改的時候每次...
在過去幾年間,多線程編程已經成為了一個熱門話題。雖然我們長久以來一直都希望能有高速響應的用戶界面,但實現這個愿望的工具卻遲遲不見蹤跡。對于大多數框架(包括.NET程序員所使用的那些框架)來說,對用戶界面的...
對于組件化的軟件工程設計,很多開發人員都比較熟悉。組件化的設計適合于復雜的軟件系統和團隊協作開發。把軟件系統劃分成若干個組件,組件之間通過預先定義好的接口和協議進行通訊和協作,共同完成整個軟件系統...
GDIWatch 是Virgo Software 開發的一個for Visual Studio的插件,支持2005/2008/2010,它的功能主要是在一個類似watch的窗口上顯示被調試程序的GDI對象的當前狀態,比如HBRUSH的顏色,大小,圖片等等,并且它還能在調試...
作為站長,你可能已經知道外鏈(外部來源的反向鏈接)對搜索引擎排名是最重要的。不幸的是,許多網上營銷者在追逐鏈接時常常撿了芝麻丟了西瓜?! ∠旅媸菍χ饕溄硬呗灾兴协h節的詳細分析和按時投資回報的分析,...
JSON是專門為瀏覽器中的網頁上運行的JavaScript代碼而設計的一種數據格式。在網站應用中使用JSON的場景越來越多,本文介紹ASP.NET中JSON的序列化和反序列化,主要對JSON的簡單介紹,ASP.NET如何序列化和反序列化...
每種語言都有它特別的地方,對于JavaScript來說,使用var就可以聲明任意類型的變量,這門腳本語言看起來很簡單,然而想要寫出優雅的代碼卻是需要不斷積累經驗的。本文利列舉了JavaScript初學者應該注意的七個細節,與...
當你使用最新的操作系統,在最新的框架上構建應用程序,并且使用最新版本的Visual Studio的時候,你可以使用許多令人興奮的新特性。你可以學習一下怎樣使用Visual Studio 2010, WPF 4 和 the Windows API Code Pa...
這是一篇充滿偏見的語言戰爭文章,是一場無意義的錘子和錘子的比拼。語言的復雜性可以通過選擇語言回避,而問題本身的復雜性是選擇哪個語言都無法回避的。 不屑語言戰爭的人可以輕松無視此文?! ?、字符串...
My mind to your mind. My thoughts to your thoughts... -- Mr. Spock 什么是結對輔導 在前面的兩篇敏捷咨詢工具箱中,我分享了如何做讀書寫代碼活動和OO訓練營。認真的做好這兩項活動之后,團隊的...
四十幾年前麥克盧漢喊出“媒介即信息”這句口號時,很多人認為他在嘩眾取寵?! ∈昵拔业谝淮紊暇W時只知道網上能玩游戲,能上oicq,能收發郵件,有bbs。我媽在家聽人說網上有病毒,趕緊打電話給我叮囑別...
記筆記 俗話說:好記性不如爛筆頭。當然,這并不是說我們的腦子不好使,也不是叫我們不要用腦子記東西,而是提醒我們解放腦力,讓大腦從事更有價值的思考。因此,這節課我們將會創建一個筆記本,用來記錄課堂重點,但...
C#4.0關于缺省參數的新特性,相信大家都不會陌生。所謂缺省參數,顧名思義,就是在聲明方法的某個參數的時候為之指定一個默認值,在調用該方法的時候如果采用該默認值,你就無須指定該參數。和很多語言層面特性(語法糖...
Semat計劃于2009年12月由軟件工程三位大師(合稱“Troika”)Ivar Jacobson(UML、RUP、組件和組件架構、用例等技術之父),Bertrand Meyer(Eiffel和按約定設計之父)和Richard Soley(OMG主席)正式發起,倡導以堅...
在 .NET 類庫中有一個 System.Diagnostics命名空間,該命名空間提供了一些與系統進程、事件日志、和性能計數器進行交互的類庫。當中包括了兩個對開發人員而言十分有用的類Debug類和Trace類。本文介紹了這兩個...
在上兩篇:我介紹了原創企業級控件庫之組合查詢控件 和原創企業級控件庫之大數據量分頁控件,受到了很多朋友的支持,給了我很大的動力,在此我特表感謝。有的朋友要求把源碼提供上來,我在第一篇就講了,源碼會在我這個...
Randall Degges 寫道 "我已經做了很久的程序員。當我最開始編程時,我將全部心思投入到電腦中編寫代碼。雖然,我的代碼糟透了,但我仍然品嘗了樂趣,收獲了知識。然而,時過境遷,編程的單純心離開了我。能剝奪程序員單...
在許多年前,“語言”就等同于“平臺”,例如C,C++以及最早的Ruby和Python等等。但是隨著技術發展,出現了一些通用的平臺,例如.NET和Java,逐漸這些平臺上的語言也越來越多。再后來,某些語言在不...
在我的這篇博文中,有這么一段話:“我一直在想,有沒有辦法可以單獨限制View中的代碼的訪問權限,類似于trust level,只是這個trust level是用來限制模板中的代碼。”。有讀者johngeng問,為什么要用trust l...
作為軟件開發人員,有一個小秘密:不管你寫的代碼有多么優秀,對另外一位開發人員來說,都毫無用處?! ∪绻a足夠“干凈”,你都可以吃代碼上面的壽司,這沒什么。如果每次代碼顯示在屏幕上時,約翰·...
在《上篇》中我們揭示了“缺省參數”的本質,現在我們接著來談談C#4.0中另一個重要的新特性:協變(Covariance)與逆變(Contravariance)。對于協變與逆變,大家肯定不會感到陌生,但是我相信有很多人不能很清晰...
軟件設計有一句話叫做約定優于配置,很多人將其作為拒絕配置的理由。但是,約定和配置的使用,都有個度的問題。我不贊為了所謂的擴展性,為你的應用設計一套只有你自己才能看懂的配置體系。但是,在很多場景中,配置是...
在2011年伊始,翻開了全新一年的篇章,作為我們日常生活中不可或缺的消費電子產品亦然進入了全新的時代,隨著一年一度的2011年CES國際消費電子產品展覽會,在北京時間1月7日(美國西部當地時間1月6日),于美國賭城拉斯維...
我正在讀 Do More Faster 這本書,書中更多的是給 TechStars 創業孵化公司做廣告,但仍然值得一讀。讓我深有感觸的是,書中提到有幾個人,他們通過了審查,成功的 — 至少是獲得了他們的啟動資金,但他們并不懂編...