Search Results

翻修古老ASP.NET網站專案,發現使用Visual Studio 2010編譯會失敗,傳回以下錯誤: The CodeDom provider type "Microsoft.VJSharp.VJSharpCodeProvider, VJSharpCodeProvider, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" could not be located. 這個錯誤訊息沒有關聯到任何檔案,讓人一頭霧水。 爬文找到chicken大人古早寫的 分享文章 ,用力檢查網站目錄,果然找到一個很久前寫來測試玩玩的blah...
前天寫了一篇 非同步方法之同步化及逾時機制 ,與chicken大人討論程式碼中Polling的部分(指每隔一段時間檢查一次結果的輪詢寫法),固然邏輯簡單,但效率與精確度不優,但若被呼叫的元件本身不提供"完成後主動通知"的機制,Polling雖然討厭,卻也無法避免! 若被呼叫端在完成工作時,可透過事件回呼方式通知呼叫方,則整個局勢就改觀了! 於是索性也 提筆 敲鍵練習一番,補充"完成後會回Call"情境的做法。 如下例,我們在AsyncJobClass完成工作後,新增主動回Call AfterFinished事件通知呼叫方的功能(橘底部分),如此便可引用AutoResetEvent來做同步...
Posted 23 March, 2010, 04:42 PMJeffrey
Filed under: ,
to chicken, 有個小問題,元件是別人提供的,固定只能透過屬性取得處理狀態,在不修改元件的前題下,是否就無法套用IAsyncResult機制,只能走Polling這條路?
to chicken, 一開始有考慮過System.Threading.Timer, 不過卡在一個迷思(心魔? 呵),即便把period設成Timeout.Infinite,但Timer生命週期仍會持續,必須要手動銷毁物件才真的會被回收,若要加上額外銷毁機制就未必划算。(但我不確定這個推想是否為真,得實際玩看看才知) 另外,ClearTimeout時是否能避開執行中的Callback也待研究(但背後若是用ThreadPool的話應該不會有問題),不像自己控管Thread這麼一目了然。 to Billy, System.Timers.Timer可以自動解決UI Thread限制是一大賣點,不過不像Threading...
to chicken, 一核一緒的結論必須建構在"程式碼對CPU運算依賴度極高"的前題下。依我粗淺的想法,相較於沈重的運算需求,OS在背景做事消耗的CPU比例可以被忽略,為此空出一顆CPU就顯得有些不划算,而.NET 4.0 PLINQ中看來也採用類似的Idea,會開出核心數目個Thread來處理工作。至於等待I/O造成的延遲會減少CPU的使用,當比例高到一等程度時,的確應該再增加Thread以求搾乾CPU。(嘿... 不小心洩漏了劇情,下一篇文章裡,一核一緒的說法又要被修理了)
吐個槽... 一核配一條 thread 大部份都不成立... 因為 OS 也要在背景做事 (所以四核可能只能配 3.5 threads ...), 而要做的事也不完全是只用到 CPU,如 DISK I/O,NETWORK I/O 等等,又會變成一個核心可以搭配多個 threads.. 我這篇剛好有討論到這類的問題,可以參考看看 :D columns.chicken-house.net/.../RUNPC-e7b2bee981b8e69687e7aba0-e9818be794a8ThreadPoole799bce68faeCPUe9818be7ae97e883bde58a9b.aspx
我恨透了XML的Namespace, 尤其是xmlns這種預設Namespace。 每次寫Code處理這段都要東查西抄才能搞定,最慘的是連怎麼弄出來自己也模模糊糊。再不然就是走偏門,抓到OuterXML Replace掉xmlns="..."後重新LoadXml,當作沒有Namespace這回事(好像很多人也是 這樣搞 )。當然,這種態度是不對的,叔叔太頹廢了,小朋友們千萬不可以學~~ 今日有幸承蒙 chicken大師 點化,終於學會怎麼正確處理Default Namespace,特貼文分享。 public static void TestNamesapce() { XmlDocument...
Posted 25 November, 2009, 02:43 AMJeffrey
Filed under: ,
to chicken, 您的Tips我收下了,感恩~~~
to Ark, 謝謝賜教。恰巧也有噗友提到CompositeScript,其實這個做法的構想多少也來自它。不過我把機制包裝得可以如同一般js可以直接include或$.getScript,主要是讓應用時更有彈性,同時加上套件與套餐的概念也有些許簡化的效果。 至於jqGrid,雖然還沒試過數百列資料,但我對大量Cell數的Table效能不抱什麼期望(過去有過類似的嘗試,最後還是投靠了Silverlight),主要用來提供同一頁面上數筆資料編輯(例如: 交通費申報時的明細項目),結果再一次傳回後端。 to chicken,有理,JsLoader.aspx應該也可以再多加上CSS支援。
這種問題我也在 Entity Framework 碰過... XML 的例子跟你一樣我就不提了。我碰到的是 BLOB 的狀況... EDMX 一樣是透過 code gen 產生一組合用的 Get / Set,Set 的部份就用 value 是否跟原物件 reference equal 來決定要不要更新回資料庫的依據... BLOB 是被對應成 byte[], 如果你陣列沒換一個新的,只是改掉其中一個 byte, 那就被呼略掉了... 當然把它改成 value equal 才是正解,不過,byte[] 要做好比對內容很花時間吧 @@ 看來這是跟效能妥協的結果,犧牲掉一小部份這種語意正確,但效能很糟的情況...
更多文章 下一頁 »

搜尋

Go

<July 2010>
SunMonTueWedThuFriSat
27282930123
45678910
11121314151617
18192021222324
25262728293031
1234567
 
RSS
【工商服務】
最新回應

Tags 分類檢視
關於作者

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

文章典藏
其他功能

這個部落格


BlogLook Score and Rank

Syndication