private static Task PerformPartialSend(object state)
{
var context = (LongPollingTransportContext)state;
if (!context.Transport.IsAlive)
{
return TaskAsyncHelper.Empty;
}
using (var writer = new BinaryMemoryPoolTextWriter(context.Transport.Pool))
{
if (context.Transport.IsJsonp)
{
writer.Write(context.Transport.JsonpCallback);
writer.Write("(");
}
context.Transport.JsonSerializer.Serialize(context.State, writer);
if (context.Transport.IsJsonp)
{
writer.Write(");");
}
writer.Flush();
context.Transport.Context.Response.Write(writer.Buffer);
}
return context.Transport.Context.Response.Flush();
}