protected void BeginGetResponseAsyncCallback(IAsyncResult ar) { if (ar.IsCompleted) { string outString = string.Empty; PendingJob job = ar.AsyncState as PendingJob; if (job == null) { return; } lock (Jobs) { Jobs.Remove(job); } JsonMessageResponceArgs args = new JsonMessageResponceArgs(); args.RequestMessage = job.Request; args.Token = job.MessagToken; var resp = job.Requester.EndGetResponse(ar); var os = resp.GetResponseStream(); var sr = new StreamReader(os); outString = sr.ReadToEnd(); sr.Close(); os.Close(); args.ResponceMessage = MessageProcessor.ParseMessage(outString); job.CallResponce(args); } }
public void CallResponce(JsonMessageResponceArgs args) { ResponceCallback?.Invoke(this, args); }