O ASP.NET Core HTTPRequestMessage retorna uma mensagem JSON estranha
Atualmente, estou trabalhando com o ASP.NET Core RC2 e estou tendo alguns resultados estranhos. Então, eu tenho um controlador MVC com a seguinte função:
public HttpResponseMessage Tunnel() {
var message = new HttpResponseMessage(HttpStatusCode.OK);
message.Content = new StringContent("blablabla", Encoding.UTF8);
message.Content.Headers.ContentType = new System.Net.Http.Headers.MediaTypeHeaderValue("text/plain");
message.Headers.CacheControl = new System.Net.Http.Headers.CacheControlHeaderValue {
NoCache = true
};
return message;
}
Se eu chamar isso com carteiro com um cabeçalho Accept definido como texto sem formatação, recebo esta resposta:
{
"Version": {
"Major": 1,
"Minor": 1,
"Build": -1,
"Revision": -1,
"MajorRevision": -1,
"MinorRevision": -1
},
"Content": {
"Headers": [
{
"Key": "Content-Type",
"Value": [
"text/plain"
]
}
]
},
"StatusCode": 200,
"ReasonPhrase": "OK",
"Headers": [
{
"Key": "Cache-Control",
"Value": [
"no-cache"
]
}
],
"RequestMessage": null,
"IsSuccessStatusCode": true
}
Eu realmente não entendo como esta é a resposta gerada para o controlador acima. É basicamente uma serialização JSON de toda a mensagem em si e não contém de forma alguma a "blablabla" que pretendia enviar.
A única maneira de obter o resultado desejado é fazendo a função do meu controlador retornarstring
ao invés deHttpResponse
, mas dessa forma não consigo definir cabeçalhos comoCacheControl
Então, minha pergunta é: por que recebo essa resposta estranha? Parece um comportamento muito estranho para mim