[.NET] 產生具有多個值,multipart/form-data 的 HTTP POST 訊息

這個功能是在設計 Facebook Graph API Client Library 時碰到的問題,在 Graph API 中的 Publish_Stream 中有一項上傳相片的功能,這個功能內有一個 message 和 access_token 參數,而原本我們學習的 HTTP 技術本身大多都是沒有混合二進位和字串值的參數,所以當時碰到這個問題時,一時想不到什麼解決方法,後來搜尋到 RFC 2188: Returning Values from Forms: multipart/form-data,這份文件說明了在 HTTP POST 訊息中使用多種格式訊息的作法,它可以用在許多 REST-based API 的系統,它可以混合多種資料格式並一次傳送,當然非文字的資料必須要編碼為二進位字串。

...繼續閱讀 »

[ASP.NET]撰寫自己的 Configuration 區段 Part 3: 自訂組態集合

經過Part 1 和 Part 2 的試練以後,我想你應該已經有一個自己的 Configuration 系統了,而且也用的很開心,終於可以擺脫掉一大堆 appSettings 的噩夢了,而且只要修改 Web.config 的區段就可以變更程式的設定值。但用久了總是會不太對勁,因為目前為止,這些區段都只能獨立存在,而且只有一個。這時可能就會回想以前 appSettings 的好,因為它可以利用 來動態增加項目,不過,這個在你自己的 Configuration 中,其實也是可以做到的。

...繼續閱讀 »

[ASP.NET]撰寫自己的 Configuration 區段 Part 2: 將自己的組態組織成一個 Group

繼前一篇文章:"不要再賴在 appSettings 的屋簷下了,寫個自己的 Configuration 區段吧~" 之後,也許你已經著手,或已經將自己的設定值移到了自己的 section 中,但現在又有一個問題,就是:如果是不用模組的 section,全擠在同一個 section 中很難看,也不容易找。那麼,本文將可以幫助你。

...繼續閱讀 »

使用 StackFrame 來取得目前執行中方法的資訊

這個資訊是 .NET Framework CLR 中的呼叫堆疊(Call Stack)中的資訊,可用來追蹤程式呼叫的順序以及由誰呼叫了什麼函式,通常都會使用 Exception.StackTrace 來抓出程式的哪裡擲出例外,但其實它還有個妙用,就是取得目前程式執行所在的方法資料,以及其歷程記錄。而且重要的是,它可以同時適用於 Debug 與 Release 模式。

...繼續閱讀 »

[ASP.NET]撰寫自己的 Configuration 區段 Part 1:不要再賴在 appSettings 的屋簷下了,寫個自己的 Configuration 區段吧~

我想,很多寫 ASP.NET 應用程式的人,都會習慣性的把自己的一些設定值放到 Web.config 中的 appSettings 區域中,然後用 ConfigurationSettings.AppSettings (1.1) 或 ConfigurationManager.AppSettings (2.0+) 來取設定值吧,雖然它是很好用沒錯,但是如果設定一多的話,appSettings 區塊會充斥一大堆的設定值,屆時要分也不太好分(一堆不同模組的設定都混在同一區了),因此,若想要寫中大型 ASP.NET 應用程式的人,可能不得不學一下如何設計自己的 Configuration 區段了。

...繼續閱讀 »