2011-12-26 6 views
9

Sto cercando di creare un piccolo servizio di Windows che comunichi con i clienti tramite JSON. Ho creato un semplice campione HttpListener e funziona correttamente.httplistener con dati di post

La mia domanda è: come faccio a recuperare i dati JSON da un client (POST)?

grazie

risposta

17

Quando si accetta una richiesta da HttpListener, si ottiene un HttpListenerContext. Da lì, è possibile ottenere un HttpListenerRequest - e che ha una proprietà InputStream da cui è possibile leggere i dati.

Per leggere i dati di testo (come JSON) è possibile utilizzare la proprietà ContentEncoding e creare un StreamReader. Ad esempio:

var context = listener.GetContext(); 
var request = context.Request; 
string text; 
using (var reader = new StreamReader(request.InputStream, 
            request.ContentEncoding)) 
{ 
    text = reader.ReadToEnd(); 
} 
// Use text here