Question

J'ai un client et un serveur.

Du côté client je:

HttpWebRequest request = 
    (HttpWebRequest)WebRequest.Create("http://localhost/fa/Default.aspx");
request.Method = "POST";                

byte[] data = Encoding.ASCII.GetBytes(GetSAMLRequestB64());

request.ContentType = "text/xml";
request.ContentLength = data.Length;
Stream stream = request.GetRequestStream();
stream.Write(data, 0, data.Length);

HttpWebResponse response = (HttpWebResponse)request.GetResponse();
Stream responseStream = response.GetResponseStream();

Du côté du serveur je:

public void ProcessRequest(HttpContext httpContext) 
{
    HttpResponse response = httpContext.Response;             
    response.Clear();
    response.BufferOutput = true;
    response.StatusCode = 200; // HttpStatusCode.OK;
    response.Write("Hello");
    response.ContentType = "text/xml";
    response.End();
}

Le client reçoit la réponse à la StatusCode correcte. Bien que, si je (int)response.ContentLength; sur le client je reçois 0. Je ne peux pas lire la chaîne « Bonjour » après avoir reçu la réponse (côté client).

Était-ce utile?

La solution

Peut-être le réglage de type de contenu avant l'écriture réelle ou rinçage du flux aiderait.

Autres conseils

Vous n'avez pas défini ContentLength sur le serveur. Peut-être que cela aiderait?

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top