我使用单个 GET 操作创建了一个 ASP.NET MVC4 Web API 服务 (REST)。该操作当前需要 11 个输入值,因此我没有在 URL 中传递所有这些值,而是选择将这些值封装到单个类类型中并将其作为 Content-Body 传递。在 Fiddler 中进行测试时,我将动词指定为 GET,并在“请求正文”输入框中输入 JSON 文本。这很好用!
问题是当我尝试在 Visual Studio 2010 Ultimate 中执行负载测试时。我能够指定 GET 操作和 JSON Content-Body 就好了。但是当我运行负载测试时,VS 在测试结果中报告了 ProtocolViolationException 类型的异常(无法发送具有此动词类型的内容主体)。测试在 1 毫秒内执行,所以我怀疑异常导致测试立即中止。我能做些什么来避免这些异常?我宁愿不更改我的 API 以使用 URL 参数来解决测试工具的问题。如果我出于其他原因更改 API,请告诉我。谢谢!