Below is the code and we want to send data from the response. But the issue is that it doesn't always send the data.
Code
var rstr = _responderMethod(ctx.Request);
var buf = Encoding.UTF8.GetBytes(rstr);
ctx.Response.ContentLength64 = buf.Length;
ctx.Response.OutputStream.Write(buf, 0, buf.Length);
var context = _listener.GetContext();
var request = context.Request;
using (var reader = new StreamReader(request.InputStream,
request.ContentEncoding))
{
var text = reader.ReadToEnd();
Console.WriteLine("Messages ************");
Console.WriteLine(text);
AiMessagePublisher.SendMessages(text);
}
Sometimes it doesn't come to Console.WriteLine("Messages ************");
Any pointers will be appreciated.
I fixed this issue by using below code:
var context = _listener.GetContext();
try
{
var request = context.Request;
using (var reader = new StreamReader(request.InputStream,
request.ContentEncoding))
{
var text = reader.ReadToEnd();
Console.WriteLine("Messages ************");
Console.WriteLine(text);
publisher.SendMessages(text);
}
}
catch(Exception ex)
{
}
finally
{
context.Request.InputStream.Close();
}