2013-04-16 23 views
1

在ServiceStack服務或過濾器中,有什麼方法可以訪問從URLEncoded POST內容解析的NameValueCollectionServiceStack:POST正文內容爲NameValueCollection

儘管我明白它是在適當的情況下解析爲DTO,但有時訪問名稱值集合中的任意值也很有價值。

我不介意ServiceStack解析,並填補了DTO —我也想看到原始的NameValueCollection(或等效的數據結構,如果ServiceStack使用自己的解析機制)。

回答

2

Service基類可讓您訪問Request,您可以在FormData這是一個NameValueCollection找到POST內容。

Request.FormData 
3

裏面一個服務,您可以與訪問POST'ed數據:

var htmlPostVar = base.Request.FormData["postName"]; 

關於如何訪問內部服務HTTP請求和響應信息的詳細信息,請參見Access HTTP specific features in services

+0

我已經多次閱讀過該頁面,並且從未注意到'FormData'功能......唯一接近的地方就是過濾器的源代碼示例中,它表示「httpReq.Form [」htmlFormParam「]; '但是這是埋在代碼示例中,並沒有解釋自己。 – SAJ14SAJ

+0

這是因爲我只是更新了它:)這個信息遍佈在StackOverflow的很多答案中,我想它是關於它到達wiki的時間。 – mythz

+0

謝謝,我欣賞它。我喜歡這個工具,並閱讀了很多代碼庫,但有時候找到正確的文檔或最佳實踐可能會非常棘手。 – SAJ14SAJ