我创建了一个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