public void ReportAppReviewInfo(int rating, string reviewMessage)
 {
     ThreadPool.QueueUserWorkItem(
         state =>
         {
             _ipRefreshedEvent.WaitOne();
             var newAppReview = new AppReview(_applicationId, _deviceId, _appTitle, rating, reviewMessage) {
                 IpAddress = _ipAddress,
                 Country = _country,
                 Region = _region,
                 City = _city,
                 Isp = _isp,
             };
             var table = _tableClient.GetTableReference(AppReviewTableName);
             table.BeginExecute(TableOperation.InsertOrReplace(newAppReview), SaveChangesCallback, null);
         });
 }
 public void ReportAppReviewInfo(int rating, string reviewMessage)
 {
     ThreadPool.QueueUserWorkItem(
         state =>
         {
             _ipRefreshedEvent.WaitOne();
             var newAppReview = new AppReview(_applicationId, _deviceId, _appTitle, rating, reviewMessage)
             {
                 IpAddress = _ipAddress,
                 Country = _country,
                 Region = _region,
                 City = _city,
                 Isp = _isp,
             };
             _tableContext = new TableServiceContext(TableServiceUri, _credentials);
             _tableContext.AddObject(AppReviewTableName, newAppReview);
             _tableContext.BeginSaveChanges(SaveChangesOptions.ContinueOnError, SaveChangesCallback, null);
         });
 }