我創建了一個ASP.NET MVC4 Web API服務(REST)與單個GET操作。該動作當前需要11個輸入值,因此我不是將所有這些值傳遞到URL中,而是選擇將這些值封裝到一個類類型中,並將其作爲Content-Body傳遞。當我在Fiddler中測試時,我將動詞指定爲GET,並在「請求正文」輸入框中輸入JSON文本。這很好用!ProtocolViolationException負載測試Web服務(與內容體的GET操作)
問題是當我嘗試在Visual Studio 2010 Ultimate中執行負載測試時。我能夠指定GET操作和JSON Content-Body就好了。但是,當我運行Load測試時,VS會報告測試結果中的類型爲ProtocolViolationException的異常(無法使用此謂詞類型發送內容主體)。該測試在1ms內執行,因此我懷疑這些例外會導致測試立即中止。我能做些什麼來避免這些例外情況?我寧願不改變我的API來使用URL參數來解決測試工具。如果我因其他原因更改API,請告訴我。謝謝!
更好地避免使用GET的內容。你爲什麼需要它?你可以使用'POST'動詞。在現實世界中,'GET'不應該需要11個輸入。 – Aliostad 2012-07-20 09:16:16
@Aliostad,我沒有寫任何東西到服務器。我只是根據輸入條件查詢。 GET似乎是正確的。我正在構建真正需要11個以上輸入值的真實世界服務。 ASP.NET Web API支持它就好了。除了我遇到的工具問題之外,選擇POST的_concrete_原因是什麼?任何後果?謝謝! – 2012-07-20 17:05:09