// *********** Asynchronous Get, no response expected ************* public static void RestGetNonQueryAsync(string url, RestCallBackNonQuery callback, ClientConfiguration configuration) { var get = new GetNonQueryDelegate(RestGetNonQuery); get.BeginInvoke(url, configuration, ar => { var result = (AsyncResult)ar; var del = (GetNonQueryDelegate)result.AsyncDelegate; Exception e = null; try { del.EndInvoke(result); } catch (Exception ex) { e = ex; } callback?.Invoke(e); }, null); }
// ********* Asynchronous Post, not response expected ********* public static void RestPostNonQueryAsync <TI>(string url, TI data, RestCallBackNonQuery callback, ClientConfiguration configuration) { var post = new PostNonQueryDelegate <TI>(RestPostNonQuery); post.BeginInvoke(url, data, configuration, ar => { var result = (AsyncResult)ar; var del = (PostNonQueryDelegate <TI>)result.AsyncDelegate; Exception e = null; try { del.EndInvoke(result); } catch (Exception ex) { e = ex; } callback?.Invoke(e); }, null); }
// ********* Asynchronous Post, not response expected ********* internal void RestPostNonQueryAsync(string url, string data, RestCallBackNonQuery callback, ClientConfiguration configuration) { var post = new PostNonQueryDelegate <string>(RestPostNonQuery); post.BeginInvoke(url, data, configuration, ar => { var result = (AsyncResult)ar; var del = (PostNonQueryDelegate <string>)result.AsyncDelegate; Exception e = null; try { del.EndInvoke(result); } catch (Exception ex) { e = ex; } if (callback != null) { callback(e); } }, null); }
// Overload method public static void RestGetNonQueryAsync(string url, RestCallBackNonQuery callback) => RestGetNonQueryAsync(url, callback, DefaultConfiguration);
// Overload method public static void RestPostNonQueryAsync <TI>(string url, TI data, RestCallBackNonQuery callback) => RestPostNonQueryAsync(url, data, callback, DefaultConfiguration);
// Overload method internal void RestGetNonQueryAsync(string url, RestCallBackNonQuery callback) { RestGetNonQueryAsync(url, callback, DefaultConfiguration); }
// Overload method internal void RestPostNonQueryAsync(string url, string data, RestCallBackNonQuery callback) { RestPostNonQueryAsync(url, data, callback, DefaultConfiguration); }