Pergunta

Eu estou usando PandaStream, que envia uma notificação resto como YAML para a nossa aplicação ASP.NET. O serviço web eu tenho bobinas e retornos 500 porque ele tenta analisar o conteúdo como XML. Como posso parar esta análise? Como faço para obter o conteúdo como apenas uma grande corda para que eu possa analisá-lo eu mesmo?

[WebMethod]
//HOWTO? suppress XML parsing
public void UpdateStatus()
{
    // HOWTO? get content as string
    // parse string as YAML
    // ...
}

UPDATE:? OK, se eu usar uma página aspx regular, como faço para obter o conteúdo POST crua como uma string

UPDATE 2: Eu posso obter o texto:

Stream s = Request.InputStream;
byte[] buffer = new byte[s.Length];
s.Read(buffer, 0, (int)s.Length);
String content = bytesToString(buffer);

... mas fica asneira. As linhas das yaml abertura são:

--- 
:video: 
  :thumbnail: bac01bf0-503a-012b-1406-123138002145.flv_thumb.jpg
  :duration: 15900

... e assim por diante, mas na minha corda isto torna-se:

video=---%20%0a%3avideo%3a%20%0a%20%20%3athumbnail%3a%20bac01bf0-503a-012b-1406-123138002145.flv_thumb.jpg%0a%20%20%3aduration%3a%2015900

Parece ASP é "parametrização" do corpo POST quando eu só quero a matéria-prima. Isto é algo a ver com o tipo mime?

Foi útil?

Solução

ASMX Web Services só pode processar SABÃO na entrada. Se você precisa ler algum outro formato, então você precisa não estar usando um serviço ASMX web.

Basta usar uma página normal, ou um HttpHandler, e fazer sua própria análise.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top