Guest User

Untitled

a guest
Oct 22nd, 2017
66
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.82 KB | None | 0 0
  1. public void DoPartnerPost()
  2. {
  3. AsyncWebHelper.PostAsync(postUrl, parms, callbackState =>
  4. {
  5. // Success! Now make partner post
  6. if (callbackState.Exception == null)
  7. {
  8. MoaHelper.MoaResponse resp = AsyncWebHelper.DeSerializeToJson<MoaHelper.MoaResponse>(callbackState.ResponseStream);
  9. //string hiresResult = AsyncWebHelper.GetResponseText(callbackState.ResponseStream);
  10. DoPartnerPost(partnerPostUrl, lowResUrl, resp.Url, actionList, postData);
  11. }
  12. });
  13. }
  14.  
  15. public static void GetAsync(string url, Action<HttpWebRequestCallbackState> responseCallback,
  16. object state = null, string contentType = "application/x-www-form-urlencoded")
  17. {
  18. var httpWebRequest = CreateHttpWebRequest(url, "GET", contentType);
  19.  
  20. HttpWebRequestAsyncState asyncState = new HttpWebRequestAsyncState()
  21. {
  22. HttpWebRequest = httpWebRequest,
  23. ResponseCallback = responseCallback,
  24. State = state,
  25. StartTime = DateTime.Now
  26. };
  27.  
  28. IAsyncResult result = httpWebRequest.BeginGetResponse(BeginGetResponseCallback, asyncState);
  29.  
  30. // Add Timeout mechanism
  31. ThreadPool.RegisterWaitForSingleObject(result.AsyncWaitHandle, new WaitOrTimerCallback(TimeoutCallback), asyncState, AsyncTimeout, true);
  32. }
  33.  
  34. static void BeginGetResponseCallback(IAsyncResult asyncResult)
  35. {
  36. WebResponse webResponse = null;
  37. Stream responseStream = null;
  38. HttpWebRequestAsyncState asyncState = null;
  39. try
  40. {
  41. asyncState = (HttpWebRequestAsyncState)asyncResult.AsyncState;
  42.  
  43. // end this operation
  44. webResponse = asyncState.HttpWebRequest.EndGetResponse(asyncResult);
  45. responseStream = webResponse.GetResponseStream();
  46.  
  47. var webRequestCallbackState = new HttpWebRequestCallbackState(responseStream, asyncState.State);
  48. asyncState.ResponseCallback(webRequestCallbackState);
  49.  
  50. // cleanup
  51. responseStream.Close();
  52. responseStream = null;
  53. webResponse.Close();
  54. webResponse = null;
  55. }
  56. catch (Exception ex)
  57. {
  58. if (asyncState != null)
  59. asyncState.ResponseCallback(new HttpWebRequestCallbackState(ex));
  60. else
  61. throw;
  62. }
  63. finally
  64. {
  65. if (responseStream != null)
  66. responseStream.Close();
  67. if (webResponse != null)
  68. webResponse.Close();
  69. }
  70. }
Add Comment
Please, Sign In to add comment