我正致力於在.NET中的HttpWebRequest
/HttpWebResponse
類型之上構建流暢的REST客戶端界面。到目前爲止,這麼好......但我試圖開發一個可自動處理安全令牌協商,令牌刷新等的可插入安全框架。有沒有辦法在400/500狀態碼上更改HttpWebRequest行爲?
由於HttpWebRequest/Response
工作方式的性質,我遇到了一個問題當他們遇到400系列或500系列的HTTP狀態碼時。他們不會簡單地設置.StatusCode
和.StatusDescription
屬性,並允許您以任何方式處理,他們會拋出WebException
。一般來說,這可能不是問題......但是,我們的身份驗證方式(衍生OAuth 2.0),我需要處理某些400系列錯誤,而不會發生異常。
是否有某種方法可以重新配置HttpWebRequest/Response而不是拋出WebException
,並允許消費者確定自己的錯誤處理?我知道有一些處理Expect-100的全面方法 - 繼續使用舊的Http1.0服務器......我很好奇是否有類似的全面禁用WebExceptions的方法。
(哦,只是無法抗拒...一個大膽的SHOUT OUT給我的好友在RedGate非法帶走Reflector 6的授權綁定免費版本......我可能能夠如果我可以窺探代碼...但可惜...反射器現在已經消耗了自己的能量,但現在它已經消失了; P)
就反射器去,嘗試使用ILSpy。 – BKewl 2013-07-09 18:52:54