2011-08-04 68 views
4

我想創建一個基於WCF Web API的REST風格的Web服務。我還需要使用OAuth控制訪問,爲此,我使用DotNetOpenAuth開源庫。集成DotNetOpenAuth和WCF WebAPI

有沒有人成功整合過兩個?我正在努力將WCF Web API的HTTP實體表示轉換爲DNOA可理解的內容(例如,HTTP請求,HTTP標頭等)。

任何提示將不勝感激。

+0

我建議在[WCF WebAPI討論頁](http://wcf.codeplex.com/discussions/topics/4885/web-api)上交叉發佈您的問題。一些相當聰明和知情的人在那裏漂流。作爲這樣一個年輕(和alpha)圖書館,可能會在這個偉大的問題上獲得額外的可見性。 – ckittel

+0

完成:http://wcf.codeplex.com/discussions/267859 –

+0

我建議你bug這個人https://twitter.com/#!/GQAdonis2008他正在爲WCF Web API開發OAuth實現。 –

回答

2

你能更具體一點嗎?

在WebAPI中,請求由HttpRequestMessage類表示。應答由HttpResponseMessage類表示。

我之前沒有DNOA的相關知識,但是從我所看到的,您可以使用公共HttpRequestInfo(string httpMethod, Uri requestUrl, string rawUrl, WebHeaderCollection headers, Stream inputStream)HttpRequestMessage輕鬆創建HttpRequestInfo

HTTP方法和請求URI直接屬於HttpRequestMessage屬性。 輸入流通過Content屬性獲取。我沒有看到從WebAPI的HttpRequestHeaders創建WebHeaderCollection的直接方式。但是,您可以迭代HttpRequestHeaders條目,然後逐個插入WebHeaderCollection

+0

是的,這正是我經過一些更多研究後最終做的。很好,你確認了它。標記你的答案對未來的讀者是正確的。 –

+0

你是如何從HttpRequestMessage的Content屬性創建de Stream對象的? @PedroFelix – Daniel

+2

我很想看到這個實現的一些示例代碼。 – Raelshark