(подвопрос: Как получить тело из PushStreamContent в WebAPI2?)
Я хочу отправить сжатое сообщение из одного API в другой API.Я делаю это с помощью потокового контента.В настоящее время у меня есть следующая логика:
Логика отправки (с отправкой PushStreamContent через WebAPI2):
private async Task InitPushStreamContent(Stream stream, HttpContent content, TransportContext transportContext)
{
var tstText = "Testing 1-2-3";
var byteArray = Encoding.ASCII.GetBytes(tstText);
await new MemoryStream(byteArray).CopyToAsync(stream);
stream.Close();
}
public async Task Execute() {
using (PushStreamContent pushContent = new
PushStreamContent(InitPushStreamContent))
{
var requestMessage = new HttpRequestMessage
{
Content = pushContent
};
return await ResendMessagesOtherStage("someParameter", "someParameter",
"someParameter",
"someParemeter", requestMessage);
}
}
Логика получения (Другой API, извлекающий поток):
public async Task<IHttpActionResult> UploadSomethingAsync(HttpRequestMessage request)
{
var stream = await request.Content.ReadAsStreamAsync();
var length = (int)stream.Length;
var byteArray = new byte[length];
var message = Encoding.ASCII.GetString(byteArray, 0, byteArray.Length);
}
Полученное мной сообщение не является:
"Тестирование 1-2-3"
Но это:
{"Content": {"Headers": [{"Key": "Content-Type", "Value": ["application / octet-stream"]}]}}
Я не уверен, что я наблюдаю ... Те же результаты, которые я получаю, когда извлекаю zip-файл.