Web API サービスを試しています。GET リクエストでファイルをダウンロードしようとしています。メソッドは問題なく起動し、ブレークポイントに到達します。レスポンスを作成して返します。その後、奇妙なことに、ブレークポイントが再びヒットします。Firefox アドオンの Poster を使用してテストしています。投稿者は、サーバーからの応答がないと言っています。なぜそれが起こっているのですか?
応答作成コードは次のとおりです。
HttpResponseMessage result = this.Request.CreateResponse(HttpStatusCode.OK);
result.Content = new StreamContent(stream);
result.Content.Headers.ContentType = new MediaTypeHeaderValue("application/octet-stream");
result.Content.Headers.ContentLength = file.Length;
result.Content.Headers.Expires = new DateTimeOffset(DateTime.Now.AddDays(-1));
result.Content.Headers.ContentDisposition = new ContentDispositionHeaderValue("Attachment") { FileName = file.Name };
return result;
唯一の重要な変更 (私が考えることができる) は、次のような WebApiConfig への変更です。
config.Routes.MapHttpRoute(
name: "DefaultApi",
routeTemplate: "api/{controller}/{action}/{id}",
defaults: new { id = RouteParameter.Optional });
私のメソッド署名は次のようになります: public HttpResponseMessage GetUpdate(int Id)
私の他のすべてのアクションは正常に機能しています。受け入れヘッダーなど、クライアント側で何か不足していますか? 私は今、単純なGETを行っています。
ありがとう!