private void PostDirectToQueue()
        {
            var sbq = new AzureSBQ.AzureSBQSender("Endpoint=sb://hospoc.servicebus.windows.net/;SharedSecretIssuer=owner;SharedSecretValue=mEiPrhMsF+gtEuyAHXJvt9zwNH8OiFiuAI9j0W+qzbo=", "hosworkstateincomming", _numberOfThreads);

            while (!_stopping)
            {
                var randomWorkStateChange = DriverWorkStateChange.GetRandomWorkStateChange();
                sbq.SendMessage(randomWorkStateChange);
            }
        }
        private async void PostUsingHttpClient(DriverWorkStateChange randomWorkStateChange)
        {
            using (var client = new HttpClient())
            {
                var uri = new Uri(_baseUrl + "/api/driver/" + randomWorkStateChange.DriverId + "/workstate");
                try
                {
                    var x = await client.PostAsJsonAsync(uri.ToString(), randomWorkStateChange);

                    Trace.WriteLine(x);
                }
                catch (Exception ex)
                {
                    Console.WriteLine("{0} /n {1}", ex.Message, ex.InnerException.Message);
                }
                _count++;
            }
        }
        private static void PostUsingRestSharp(DriverWorkStateChange randomWorkStateChange, RestClient client)
        {
            var request = new RestRequest("api/driver/{driverId}/workstate", Method.POST);

            request.AddUrlSegment("driverId", randomWorkStateChange.DriverId.ToString(CultureInfo.InvariantCulture));
            request.AddBody(JsonConvert.SerializeObject(randomWorkStateChange));
            try
            {
                client.ExecuteAsync(request, response =>
                {
                    _count++;
                });
            }
            catch (Exception ex)
            {
                Trace.WriteLine(GetExceptionDetails(ex));
                throw;
            }
        }
        private void PostUsingHttpWebRequest(DriverWorkStateChange randomWorkStateChange)
        {
            var httpWebRequest = (HttpWebRequest)WebRequest.Create(_baseUrl + "/api/driver/" + randomWorkStateChange.DriverId + "/workstate");

            httpWebRequest.ContentType = "text/json";
            httpWebRequest.Method      = "POST";

            using (var streamWriter = new StreamWriter(httpWebRequest.GetRequestStream()))
            {
                var json = JsonConvert.SerializeObject(randomWorkStateChange);

                streamWriter.Write(json);
                streamWriter.Flush();
                streamWriter.Close();

                var httpResponse = (HttpWebResponse)httpWebRequest.GetResponse();
                if (httpResponse.StatusCode == HttpStatusCode.OK)
                {
                    _count++;
                }
            }
        }