假设我有一个不断向服务请求流的客户端,我想自动测试它。因此,作为测试的一部分,我创建了一个返回流的服务。以下代码片段构造响应并返回它:
HttpResponseMessage response = Request.CreateResponse(HttpStatusCode.OK);
response.Content = new StreamContent(fstream);
response.Content.Headers.ContentType = mediaType;
return response;
这适用于客户端调用API并及时获得响应的成功案例。但我也想模拟一些超时失败。
如果我想在返回任何响应部分之前模拟超时,我只需在返回响应之前添加 Thread.Sleep()。
我的问题是:如何模拟服务已经开始返回响应的超时情况?我想模拟响应头后的服务超时已发送,但在发送 fstream 之前。
答案 0 :(得分:0)
也许尝试这样的事情?
var response = HttpContext.Current.Response;
response.Buffer = false;
response.AddHeader("SomeHeader","SomeValue");
response.Write("Some body text.");
System.Threading.Thread.Sleep(WEB_SERVER_TIMEOUT_VALUE + 1);