使用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