只是近來撰寫上遇到無法進行Debug的狀況,在Visual Studio一進行偵錯可以看到Console 程式被執行,並顯示使用Topshelf語法所帶入的相關資訊,但顯示完之後旋即關閉,亦無法進行偵錯,花了不少時間才找到原因。
2020-07-23
2017-07-27
C#數值型別於MVC Templates的正確套用
在MVC專案中,我們為了統一特定型別於網頁上的View,往往都會使用DisplayTemplates或EditorTemplates做為預設樣版。
但在Model中使用 int、uint、short ....等等的型別,卻未套用我所做好的Template,例如:
/Shared/EditorTemplates/uint.cshtml。
2016-04-19
WCF序列化集合型別建議
於某個WCF Service傳入物件時,遇到了此錯誤:
無法序列化型別 'System.Linq.Enumerable+WhereEnumerableIterator`1[System.String]'。請考慮以 DataContractAttribute 屬性標記該型別,並以 DataMemberAttribute 屬性標記該型別要序列化的所有成員。如果該型別是集合,請考慮以 CollectionDataContractAttribute 標記該型別。如需其他支援型別,請參閱 Microsoft .NET Framework 文件。
2013-07-24
計算兩個日期之間的月數
一般想要在.net中取得兩個時間點的差距值,請愛用TimeSpan結構,包括總天數、總時數、總分鐘數、總秒數....等等都有了,但就是沒有「總月數」這一項。
感謝Google大神,很快的就找到現成的算式。
在我們只想比對到「月份」的時候,可以這麼寫:
感謝Google大神,很快的就找到現成的算式。
在我們只想比對到「月份」的時候,可以這麼寫:
2013-01-09
升級MVC 4專案的補完計畫
在前篇文章中,我們已成功的將MVC 3專案升級至MVC 4。
然而,如果希望真的更接近書上,或其他網站上所示範的MVC 4專案配置,需要額外的一些動作。對於正常執行而言,這些動作並非絕對必要,但為了享受新版的功能,並且與大多數的教學範例對照,建議多花些工夫,我相信這是值得的。;)
2013-01-08
2013-01-03
專案建置錯誤「在憑證存放區中找不到資訊清單簽署憑證」
在新的開發用電腦上,欲建置某WCF Client的專案時,發生了以下錯誤:
在憑證存放區中找不到資訊清單簽署憑證
(Unable to find manifest signing certificate in the certificate store.)
使用Regular Expression過濾檔名
以往想要從一堆檔案清單中過濾特定規則的檔名,比較直覺的想法,可能是這樣:
- 檔名大小寫問題
要做不分大小寫的比對,或是統一轉大寫或小寫...
Sring.ToUpper()/ToLower()/Compare() - 以特定字串起始、結束、或包含該字串
可能會用到String.StartsWith()/EndsWith()/Contains()... - 以特定符號分隔
如:底線。
可能會用到String.Split() - 必須包含數字
如:版本號。
取檔名的第n位到第m位,並TryParse為Integer...
2012-12-13
ArrayList轉Array的簡單解法
將ArrayList轉成陣列(Array)的簡單解法,以string型別為例:
// string[] strArray = (string[])MyArrayList.ToArray(typeof(string)); //
2012-12-12
用.Net寫COM元件的經驗談(二)背景知識篇
在.net開發COM元件的時候,必須對相關的背景知識加以了解,否則就會不明究理地遇上部署、註冊等等的問題,以下是我在摸索過程中常見的keyword及參考資源,適切的使用這些keyword,對於後續在搜尋時,可以得到較符合預期的結果。
【Managed Code】
代表受到 CLR (Common Languages Runtime) 的管理,泛指基於 .net framework 平台所開發的程式。
代表受到 CLR (Common Languages Runtime) 的管理,泛指基於 .net framework 平台所開發的程式。
2012-12-07
取得網域名稱的方式
有時候程式會需要取得本機電腦所處的網域名稱(Domain Name),
最方便的取得方式是:
最方便的取得方式是:
//常見網域取得用法 string domainName = System.Environment.UserDomainName;
2012-10-16
用.Net寫COM元件的經驗談
有個舊平台的應用程式引用第三方DLL元件,不知何故,該元件有時會無法下載檔案,導致程式無法執行後續流程,因為該DLL的功能僅僅是為了下載檔案使用,這對 .Net 來說是輕而易舉,因此決定換掉該 DLL,使用 .Net 撰寫的DLL取代。
2012-10-09
C# 除法運算隱含的小數位數問題
在.net中,我們很直覺得會把除法運算這麼寫出來:
這是因為「除數」與「被除數」都是 int 型態,所以預設的運算會回傳整數型態的商數(integer quotient)。
decimal result=1/2; // result=0在此例中,結果卻會是「0」,而不是我們預期的「0.5」。
這是因為「除數」與「被除數」都是 int 型態,所以預設的運算會回傳整數型態的商數(integer quotient)。
2011-04-28
使用HttpWebRequest時取得網站回應的錯誤內容
當我們使用HttpWebRequest物件,對某個網站發出Request的時候,在沒有錯誤的情況下(通常http status code是200),我們很容易取得網站回應的內容,簡單的幾行就行了:
但如果我們因為參數或網址錯誤,導致網站回應錯誤,就會取得如 400 Bad Request、404 Not Found...等等的這種http status,在瀏覽器上就會看到像這樣的畫面:
HttpWebRequest request =
(HttpWebRequest)HttpWebRequest.Create("http://YOUR_URL/");
HttpWebResponse response =
(HttpWebResponse)request.GetResponse();
Stream stream =
response.GetResponseStream();
StreamReader sr =
new StreamReader(stream);
string result = sr.ReadToEnd();
但如果我們因為參數或網址錯誤,導致網站回應錯誤,就會取得如 400 Bad Request、404 Not Found...等等的這種http status,在瀏覽器上就會看到像這樣的畫面:
訂閱:
文章 (Atom)
引用 Topshelf 無法進行偵錯的經驗
Topshelf 是一個可以簡化撰寫 Windows Service 的套件,引用之後,我們只要當作撰寫一般 Console 的應用程式就可以。 只是近來撰寫上遇到無法進行Debug的狀況,在Visual Studio一進行偵錯可以看到Console 程式被執行,並顯示...
-
Topshelf 是一個可以簡化撰寫 Windows Service 的套件,引用之後,我們只要當作撰寫一般 Console 的應用程式就可以。 只是近來撰寫上遇到無法進行Debug的狀況,在Visual Studio一進行偵錯可以看到Console 程式被執行,並顯示...
-
自從筆電 冒險 升上Windows 10之後,總覺得滑鼠頓頓的,有Lag的感覺....
-
從高職以來,一直都是使用行列30輸入法,也很慶幸及感謝它一直都是屬於免費授權,並且內建於Windows系統,一路以來使用上也很順手。 由於 Windows 8之後內建的行列輸入法並不十分就手,後來在官網看到有新版程式可用,安裝之後,的確比較接近高職時期的輸入習慣,一些簡碼、特...
