private void EndReadReply(IAsyncResult asyncResult) { HessianMethodCall call = (HessianMethodCall)asyncResult.AsyncState; try { HttpWebResponse response = (HttpWebResponse)call.request.EndGetResponse(asyncResult); if (response.StatusCode != HttpStatusCode.OK) { ReadAndThrowHttpFault(response); } using (Stream stream = response.GetResponseStream()) { AbstractHessianInput hessianInput = GetHessianInput(stream); call.result = hessianInput.ReadReply(call.methodInfo.ReturnType); response.Close(); } } catch (CHessianException e) { call.result = null; call.exception = e.InnerException; } catch (Exception e) { call.result = null; call.exception = e; } EndHessianMethodCall(call); }
private void EndSendRequest(IAsyncResult asyncResult) { HessianMethodCall call = (HessianMethodCall)asyncResult.AsyncState; using (Stream stream = call.request.EndGetRequestStream(asyncResult)) { stream.Write(call.methodArgs, 0, call.methodArgs.Length); stream.Flush(); } BeginReadReply(call); }
public void EndHessianMethodCall(HessianMethodCall call) { DateTime end = DateTime.Now; CHessianLog.AddLogEntry(call.methodInfo.Name, end, end, -1, -1); // Make it easier for the GC call.methodArgs = null; call.methodInfo = null; call.request = null; call.callback.Invoke(call); }
public void EndHessianMethodCall(HessianMethodCall call) { DateTime end = DateTime.Now; CHessianLog.AddLogEntry(call.methodInfo.Name, end, end, -1, -1); // Make it easier for the GC call.methodArgs = null; call.methodInfo = null; call.request = null; call.callback.Invoke(call); }
private void BeginSendRequest(HessianMethodCall call) { call.request = (HttpWebRequest)PrepareWebRequest(call.methodArgs.Length); call.request.BeginGetRequestStream(new AsyncCallback(EndSendRequest), call); }
private void BeginReadReply(HessianMethodCall call) { call.request.BeginGetResponse(new AsyncCallback(EndReadReply), call); }
private void BeginSendRequest(HessianMethodCall call) { call.request = (HttpWebRequest)PrepareWebRequest(call.methodArgs.Length); call.request.BeginGetRequestStream(new AsyncCallback(EndSendRequest), call); }
private void BeginReadReply(HessianMethodCall call) { call.request.BeginGetResponse(new AsyncCallback(EndReadReply), call); }