-
寫了一個Javascript函數抓出字串中以#符號夾住的文字片段: function extract(s) { var re = /#.+#/; var p = re.exec(s); if (p) return p[0]; else return "" ; } function test(s) { var t = extract(s); alert( "String:" + t + "\nLength:" + t.length); }...
-
不小心踉蹌了一下~~ PO文留念。 有一段程式碼: $("input.someClass").val(someValue).css("color", "red"); 出現css()不是支援函數的錯誤訊息(Object doesn't support this property or method),平常用val(...)玩接接樂玩得不亦樂乎,怎會忽然失靈? 追查之下,才發現原來問題出在someValue被錯傳成undefined...
-
從 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...
-
先前介紹過 用WebClient存取網站內容 的技巧,在實務上有個狀況: 當存取對象的ASPX發生程式錯誤,呼叫端只會得知是HTTP 500應用程式出錯,但錯誤細節無從得知。 例如以下範例: protected void Page_Load( object sender, EventArgs e) { //加入故意產生錯誤邏輯 if (Request[ "err" ] != null ) throw new NotImplementedException(); WebClient...
-
不知大家有無這種經驗,從網路下載或從網路分享直接開啟某個CHM檔,卻發現其實它是一本無字天書,內容頁一直出現"Navigation to the webpage was canceled”(己取消瀏覽該網頁) 之前一直搞不太清楚為什麼,一度誤以為是CHM格式不相容或檔案損壞所致,後來才慢慢知道原因。 簡單來說,由於CHM中的超連結有可能引發資安威脅,因此在某次Windows Update後(Vista後則是內建),會預設停用"來路不明"CHM的連結功能,導致點選左方主題或索引時...
-
解問題的過程很有趣。對於不熟的事物,初看像一團迷霧,但隨著謎題一個個解開,對背後原理的了解愈來愈多,一些原本沒有頭緒的問題,忽然迎刃而解,往往自己都覺得驚喜。 還是上回的 RIA Service暴斃奇案 。一開始先是用土法練鋼的方法找出資料量太大會造成WCF無疾而終,接著學會了用 WCF Tracing 追問題,由Log挖出了一個關鍵字: MaxItemsInObjectGraph 。這才理解,真正讓WCF掛掉的,並不是傳回資料太多讓總長度超出了 MaxReceivedMessageSize ,而是DataContractSerializer在序列化過程中...
-
先前在 jQuery vsdoc檔案何處尋? 一文中提過 Microsoft AJAX CDN ,對於使用者遍佈全球的網站來說,使用CDN可以提升下載速度,並減輕自家伺服器負擔。不過若在開發階段使用CDN的jQuery URL為Script src,Visual Studio 2008會因找不到對應vsdoc而失去 Javascript Intellisense 功能。 好消息是,Visual Studio 2010針對Microsoft AJAX CDN已經提供Javascript Intellisense支援囉...
-
上回提到 LINQ to SQL兩段式更新 時,經網友提醒有Attach()這個好東西,今天試了一下,結果發現它並不是我所原本想像的好東西,用起來得費一些手腳。 MVP Rick Strahl 對這個議題有兩篇文章( 1 , 2 )做了深入探討,因此細節我就不再贅述,但簡單歸納一下我的整理: Table(TEntity).Attach()有三個Overloading: 若只使用Attach(entity),不會產生任何SQL的更新動作。 使用Attach(entity, asModified),當設為true...
-
有很多時候我們會在網站上存放重要資料檔案,例如: 相關設定XML、執行過程產生的文字檔,甚至是mdf資料庫檔。原則上這些檔案可放在網站的任何目錄結構下,我們可利用Serer.MapPath()輕鬆算出其實體路徑,當成讀、寫檔案時的參數。 不過,檔案隨便亂擺會有潛在風險,一些僅供程式內部使用的檔案,很多內容是見不得人的或跟資安管控息息相關(例如: 記錄可存取Client IP清單的XML、記載特殊存取事件的Log檔... 等等),當我們將檔案放在一般網站資料夾下,使用者只要組裝出完整URL,就可以用瀏覽器光明正大...
-
在Console/WinForm/Silverlight等程式中,拿到一個絕對網址(例如: http:// localhost /WebApp/Folder/defaut.aspx)跟一個相對網址(例如: ../img/beauty.jpg),想計算出http:// localhost /WebApp/img/beauty.jpg! 過去我最常用的方法是用LastIndexOf比對最後一個"/"以拆出目錄的URL再自行組裝;其實,.NET早就有更好的解決方案... string...
-
我們在做專案時,在一個Solution中,常有多個專案共用Class的情形,例如: 在Service端定義了一組傳遞資訊的物件,在呼叫端也會用到、或是某個提供工具函數的類別,對多個專案來說都有用。此時,標準做法是另外建一個獨立的類別庫專案(Class Library),將要共用的類別放進去,多個專案再參照此一專案。 不過有很多時候只為了一個類別多搞出一個DLL,感覺上太過隆重,有時我會偷懶,只將.cs複製到另一個專案裡就算了。但只要是複製,就會衍生同步的問題,一旦要修改類別內容,必須同時修改多處...
-
Terminal Service登入遠端原本處於鎖定狀態的Windows 2008 R2,出現以下錯誤: AtBroker.exe - Application error The application failed to initialize properly (0xc0000142). Click OK to terminate the application. 接著畫面全黑無法操作。 爬文發現 一篇文章 ,導引到 微軟KB ,說明這是個Bug(程式在不正確的桌面啟動,可能跟我在公司為 三螢環境...
-
在Windows 2008之前,我一直使用Virtual Server 2005來跑VM,所以手上有一堆經營多時的VM: Windows XP, Windows 2003, Vista, Windows 2008... 說老實話,要搞好一個開發測試環境,從灌OS、上Update、安裝必要的軟體,耗掉時間十分可觀(我寶貴的青春吶~~),換到Windows 2008後,若能直接把Virtual Server的VM Image(VHD檔)拿來用,省去砍掉重練的功夫,豈不快哉。 不過,先前實測的經驗不甚理想...
-
在我的定義裡,"笨問題"泛指一些困擾多時,不確定有解,開口問人又怕遭人恥笑的小問題。這類問題多半不嚴重,不會導致專案不過飯碗不保,因此苦主多能靠愚公移山的技巧,牙一咬就隱忍多年! 舉例來說: 上回的 PowerPoint圖層問題 就是經典! (但分享之後才發現原來我不孤獨,哈! XD) 有了前回經驗,我決定豁出去了,未來會把我笨了好久才學到的技巧都整理在【笨問題專欄】。想笑的人請笑,不會的人請學,還有密技妙招的朋友請分享,皆大歡喜~~~ 今天的笨問題是: 使用Visual Studio編輯js或C#時...
-
Visual Studio 2008裡Code Snippet是可提升Coding速度的好幫手,懂得善用的人能省下一大堆沒營養的打字動作! (保哥的這篇 switch+enum密技 就是很經典的例子) 最近在重翻舊程式,要將大量的資料庫存取程式改成不參與Transaction的LINQ to SQL資料存取,所以我就得把程式由原本的: void SomeJob( string userId) { AfaUser user = DataHelper.QueryUserInfo(userId); ....