ServiceStack サービスを構築する際、HttpResult がチャンク化されたエンコーディング応答を返すことを除いて、応答がほとんど同じであることに気付きました。
次のように HttpResult オブジェクトを使用する場合:
return new HttpResult("0", ContentType.PlainText, HttpStatusCode.OK);
Fiddler で次のような応答が表示されます。
HTTP/1.1 200 OK
Cache-Control: private
Transfer-Encoding: chunked
Content-Type: text/plain
Server: Microsoft-IIS/8.0
X-Powered-By: ServiceStack/3.954 Win32NT/.NET
X-Powered-By: ASP.NET
Date: Thu, 20 Jun 2013 13:33:17 GMT
ただし、次のように Response プロパティを使用する場合:
Response.ContentType = ContentType.PlainText;
Response.StatusCode = (int) HttpStatusCode.OK;
return "1";
Fiddler で次のような応答が表示されます。
HTTP/1.1 200 OK
Cache-Control: private
Content-Type: text/plain; charset=utf-8
Server: Microsoft-IIS/8.0
X-Powered-By: ServiceStack/3.954 Win32NT/.NET
X-Powered-By: ASP.NET
Date: Thu, 20 Jun 2013 14:38:39 GMT
Content-Length: 1
HttpResult
はるかにきれいに見えるバージョンを使用したいと思いますが、エンコードしないようにする必要があります。responseBody オブジェクトを追加するたびに、応答をチャンクしているように見えます。それが取り除かれると、エンコーディングは削除されます。ただし、を明示的AllowsPartialResponse
に false に設定しても、これは修正されません。