Tôi có một khách hàng và một máy chủ.HttpWebRequest/HttpResponse: Cách gửi dữ liệu trong phản hồi?
Về phía khách hàng tôi có:
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();
Về phía server tôi có:
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();
}
Khách hàng nhận được phản hồi với đúng StatusCode
. Mặc dù, nếu tôi làm (int)response.ContentLength;
trên máy khách, tôi nhận được 0. Tôi không thể đọc chuỗi "Xin chào" sau khi tôi nhận được phản hồi (phía máy khách).
Tôi biết đây là chủ đề cũ nhưng có thể giúp ai đó. Hãy thử http://stackoverflow.com/questions/4088625/net-simplest-way-to-send-post-with-data-and-read-response/19448979#19448979 – Murali