使用WCF Web API,我將如何在應用程序邏輯運行之後但在將其返回給用戶之前更改響應的內容主體。我們的目標是,如果suppressstatuscontent是真實的我們:C#WCF WebAPI修改響應的HttpContent
- 添加的StatusCode字段內容主體
- 更改我已經覆蓋的DelegatingChannel關於應對200
中的StatusCode並在SendAsnyc有一些代碼,看起來像這樣:
protected override Task<HttpResponseMessage> SendAsync(HttpRequestMessage request, CancellationToken cancellationToken)
{
return base.SendAsync(request, cancellationToken).ContinueWith<HttpResponseMessage>(task =>
{
var response = task.Result;
if (CheckIfRequestHadSuppressStatusCode(request) == true)
{
string newResponse = (response.Content == null) ? "" : response.Content.ReadAsString();
newResponse = "<body>" +newResponse + "</body><statuscode>" + response.StatusCode + "</statuscode>";
response.StatusCode = HttpStatusCode.OK;
}
return response;
});
一個主要問題是,這並不處理XML和JSON。我覺得必須有一個更好的方法來解決這個問題,因爲這感覺很不好。
+1內容類型不錯的想法,錯過了那一個 – ChrisWue 2011-06-11 02:47:44