2016-12-29 10 views
0

サービスからストリームを継続的に要求するクライアントがあり、テストを自動化したいとします。したがって、テストの一環として、ストリームを返すサービスを作成します。次のコードスニペットは、応答を構築し、それを返します:ASP.NET Web APIで応答タイムアウトをシミュレートする

HttpResponseMessage response = Request.CreateResponse(HttpStatusCode.OK); 
response.Content = new StreamContent(fstream); 
response.Content.Headers.ContentType = mediaType; 
return response; 

これは、クライアントがAPIを呼び出し、タイムリーに応答を取得し、成功事例のために働きます。しかし、タイムアウトの失敗をシミュレートしたいと思っています。私は、応答のどの部分が返される前にタイムアウトをシミュレートしたい場合は

は、私は単にリターン応答のThread.sleepを()追加することができます。

私の質問はです。サービスが既に開始されているタイムアウトのケースをシミュレートするにはどうすればいいですか応答応答ヘッダーが送信された後、サービスのタイミングをシミュレートしたいですが、fstreamの全体が送信される前に送信してください。

答えて

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); 
関連する問題