Time of Update: 2018-12-07
經過四天的奮戰,終於解決了“百年一遇”奇怪問題!下面分享一下。問題詳情: 見百年一遇的奇怪問題:當IE遇上.NET Framework 4.5。問題出現的前提條件:安裝了 .NET Framework 4.5瀏覽器用的是 IEajax 請求由 ASP.NET MVC 處理ajax 請求通過 post 發起,並且請求數量比較多ajax 請求未處理完成,串連就被中斷(比如 F5 重新整理瀏覽器)問題的影響: 出現問題時,IE 瀏覽器一直處於等待狀態,只有重啟 IE
Time of Update: 2018-12-07
剛剛看完Dudu的<百年一遇的奇怪問題:當IE遇上.NET Framework 4.5>,就知道Dudu還沒有看到這篇文章<Compatibility of .NET Framework 4.5>。如果Dudu看了這篇文章,也許就能節省一大段時間和精力。首先這篇文章就已經說明了".NET Framework 4.5 is an in-place update that replaces .NET Framework 4 (rather than a
Time of Update: 2018-12-07
註:該問題已解決,詳見終於解決“百年一遇”奇怪問題。一個是微軟的 IE,一個是微軟的 .NET Framework 4.5,竟然出現如此離奇的問題,不得不讓人想起一句詩句:“本是同根生,相煎何太急”。下面我們來一睹這個百年一遇的奇怪問題。問題背景最近將 job.cnblogs.com 項目中的 Entity Framework 升級到了 5.0,據說 EF 5.0 在 .NET Framework 4.5 之下效能會有大幅提升(相關博文),於是在伺服器上安裝了 .NET Framework 4.
Time of Update: 2018-12-07
今天老趙在園子裡發了一篇文章"警惕匿名方法造成的變數共用",立即引起了大家的廣泛關注(老趙就是園子的"人氣天王",呵呵),而且這個問題園子裡也有其它幾篇文章做了研究比如"閉包","《你不常用的c#之三》:Action 之怪狀
Time of Update: 2018-12-07
原來又申請過部落格,不過總是不能堅持到底,所以一直很崇拜那些更新頻率很高的博主,真的很佩服。有的時候心想,自己是不是缺少了點什麼東西呢?例如:耐力,恒心? 呵呵,不過不管怎麼樣,我還是決定重拾我的技術部落格,要求不高,就權當自己的工作筆記整理好了,反正現在也不像以前那麼繁雜的事情,大可以抽些時間出來寫寫工作日記的。囉嗦過了,權當拜山。-----------------------無敵超級分割線-------------------------- 今天記錄的是一個動態程式集的還原序列化的問題。事
Time of Update: 2018-12-07
現在公司開發的項目大量用到了JS,由於項目模組要求不同,編程人員的開發水平也不同,前端的JS寫的非常的亂,最近一段時間也在思索著如何才能以最小的成本,在不大幅提高編程難度的前提下最大化的規範前端編程.前幾天看了一篇文章:使用SeaJS實現模組化JavaScript開發,然後又仔細研究了關天,感覺很不錯,現將研究心得分享如下. 一.模組化
Time of Update: 2018-12-07
Nhibernate支援四種集合:1 BagsBags中的資料允許重複,並且順序在Bag中是不重要的。比如一個ActorRole的Bag集合,可能包含actor role 1, actor role 2, actor role 3, actor role 1,actor role 4, and actor role 1,它們中允許有重複項出現。下面是一個典型的Bag映射: <bag name="Actors"> <key column="MovieId"/>
Time of Update: 2018-12-07
最近在項目中碰到一個這樣的問題,就是在列表中雙擊開啟編輯視窗,然後將BindingSource.Current的值傳遞給編輯表單進行資料繫結,編輯完後再重新整理表格中的資料。這是一個很普通的流程,以前也經常這麼做沒出過什麼問題。但是現在卻出現了一個麻煩。這個麻煩就是在編輯視窗中,即使沒有點擊儲存按鈕,按取消或者直接關閉視窗回來後,列表中的資料也會更改了。仔細想了一下,這其實是理所當然的,因為列表中綁定的實體類是參考型別的,所以傳遞過去的無非是指標而已,再加上在編輯視窗中是使用DataBindi
Time of Update: 2018-12-07
項目需求,有的時候需要從繼承類向基類轉換,有人說了,不是可以直接用嗎?都不用轉換的。是的,在很多情況下是這樣的,但是有的時候作為Abstract的類中需要為多個子類寫方法的時候就沒有這麼簡單了。或者參數是介面,需要轉成實體之類的需求,還是在某些場合下要碰到的。 原來我用的是對所有屬性同步,後來發現這樣的效果不徹底,有的欄位沒有被屬性公開,從而會影響該類的一些外在表現形式。上篇裡也說了,類的資料都是儲存在欄位裡的,一不做二不休,我們乾脆做Field的複製得了。 直接用反射非常簡單,代碼也很短。我們
Time of Update: 2018-12-07
現在好像很多人都不太喜歡寫For, ForEach, do, while這些迴圈了,都是用ToList.ForEach之類的。其實我也是這樣,但是在.Net裡,只有IList<T>有這個方法,很多時候我需要在ICollection<T>, IEnumerable<T>甚至是IEnumerable裡使用同樣的方式來調用,而且,內建的方法也是簡單了些,只有一個遍曆功能,不支援中斷,沒有索引……是不是很不方便呢? 很簡單,MS不提供,我們就自己動手吧。看代碼吧。
Time of Update: 2018-12-07
最近公司某項目布署到生產環境後,發現其記憶體佔用整體上只升不降,疑遭記憶體流失,對程式的穩定運行帶來了極大的風險。 解決記憶體流失一般有兩種思路:靜態檢查與動態監控。在使用難度上動態監控遠遠大於靜態檢查,在使用順序上一般也是先靜後動。靜態檢查一個比較好的工具就是fxcop。
Time of Update: 2018-12-07
有的時候在編輯空間裡輸入了資料,然後按Toolbar button儲存,就會探索資料根本沒有更新到繫結資料源裡,但是如果你在點button之前,先點一下其他地方轉移一下焦點的話就沒有問題了。怎麼回事呢? 原來就是DataBindings裡的Update Datasource這個設定,如果是預設的寫法:ctl.DataBindings.Add(new Binding("Text", this.bindingSource, "PropertyName",
Time of Update: 2018-12-07
文章目錄 1、定義應用程式Module2、手動調用服務1、設定檔2、利用擴充載入服務3、調用服務1、NinjectHttpApplication2、通過建構函式或者屬性或者Module實現注入 一、控制反轉和依賴注入Ninject是一個輕量級的基於.Net平台的依賴注入(IOC)架構。所謂的IOC,即控制反轉(Inversion of
Time of Update: 2018-12-07
這裡的“寂寞”指的是將ASP.NET程式中的初始化代碼從Global.asax.cs的Application_Start()方法中,移至單獨的程式集中,並且這個程式集與Web項目的程式集沒有任何來往。比如,初始化代碼所在的程式集叫CNBlogs.BootStrapper,Web項目的程式集叫CNBlogs.Web,在Visual
Time of Update: 2018-12-07
有的時候使用者系統用類似於QQ的號碼做為UIN,這個時候可能需要保留鞋好的號碼供以後不時之需,怎麼實現呢?正則就行了。看代碼。 public static Dictionary<string, Regex> _validations = new Dictionary<string, Regex>{ {"6位順增號", new Regex(@"(?:0(?=1)|1(?=2)|2(?=3)|3(?=4)|4(?=5)|5(?=6)|6(
Time of Update: 2018-12-07
今日在項目中碰到一個問題,就是一個程式的兩個進程之間需要頻繁的傳送資料,具體的來說是一個需要頻繁的發送資料而另一個執行個體需要頻繁的訪問獲得這些資料。當然,這個問題是有很多解的,例如:資料庫,再例如:檔案。可是因為這個頻繁程度太高了,例如:一秒鐘十次,在這種情況下,使用資料庫或者是檔案可能都不是一個Good Idea。Update: 其實開始想到的方案還包括Remoting,
Time of Update: 2018-12-07
來部落格園都有好幾個年頭了,本人一貫只看他人博文(不過近些年經得起看的文章是越來越少了),自己卻從不寫文章。一是才疏學淺,發“水文”怕誤導大家;二是懶得動手;三是空閑時間也不多。不過今天晚上家門前工地通宵施工,機器的轟鳴聲又一次響徹夜空,痛苦得實在無法入眠,寫一篇我在部落格園裡的處女篇但願能減輕一些痛苦吧…… 最近在使用NHibernate做系統,而且園子裡玩NHibernate的人好像也多了幾個,發現Jeffrey
Time of Update: 2018-12-07
.Net的WinForm程式有的時候讓人很煩的是,在執行目錄下總是一大堆的DLL,設定檔,最少則是個以下,多的時候怕有四五十個吧……,自己程式中的類庫,第三方的類庫……載入一起讓人感覺亂糟糟的,非常不爽。在下雖然在個人衛生上沒有什麼潔癖,可是對於應用程式的這個樣子確實沒有一點容忍力的,是可忍孰不可忍啊! 處理這些DLL還是比較簡單的,Configuration檔案裡就可以配置了。先將DLL分門別類,Core, Module, Misc等等,然後將這幾個目錄名稱加入App.config中。如:
Time of Update: 2018-12-07
使用NHibernate也有近三年了,從最初的2.1一直到現在的3.3.在使用過程中犯了很多錯誤,走了很多彎路.最近兩天又研究了一下使用細節,覺得有必要將對NH的一些認知與研究成果記錄下來,作為這一段時間內的學習總結. 1.認識NH
Time of Update: 2018-12-07
這是今天講課中的一個小例子, 示範了如何添加搜尋路徑,以便讓.NET的應用程式可以搜尋到有關的程式集. 因為.NET程式預設只是在自己的根目錄和GAC中搜尋, 所以添加下面的配置後,就可以實現在plugins目錄下面搜尋的目的了<?xml version="1.0" encoding="utf-8" ?><configuration> <runtime> <assemblyBinding xmlns="urn:schemas-microsoft-