У меня есть клиент и сервер.HttpWebRequest/HttpResponse: Как отправить данные в ответ?
На стороне клиента у меня есть:
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();
На стороне сервера у меня есть:
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();
}
клиент получает ответ с правильным StatusCode
. Хотя, если я делаю (int)response.ContentLength;
на клиенте, я получаю 0. Я не могу прочитать строку «Привет» после получения ответа (на стороне клиента).
Я знаю, что это старая нить, но может кому-то помочь. Попробуйте http://stackoverflow.com/questions/4088625/net-simplest-way-to-send-post-with-data-and-read-response/19448979#19448979 – Murali