public void addEvent(string data, string url) { LogEvent e = new LogEvent(); e.relativeUrl = url; e.sensorEvent = data; saveQueue.Enqueue(e); }
private void deleteFromDB(LogEvent logevent) { using (LogEventDataContext logDb = new LogEventDataContext(LogEventDataContext.ConnectionString)) { if (!logDb.DatabaseExists()) { System.Diagnostics.Debug.WriteLine(this.GetType().Name + ": DB does not exist"); return; } logDb.DeleteLogEvent(logevent.EventId); } }
private void GetResponse(IAsyncResult asynchronousResult, LogEvent logevent) { try { HttpWebRequest request = (HttpWebRequest)asynchronousResult.AsyncState; // End the operation HttpWebResponse finalresponse = (HttpWebResponse)request.EndGetResponse(asynchronousResult); Stream streamResponse = finalresponse.GetResponseStream(); StreamReader streamRead = new StreamReader(streamResponse); string responseString = streamRead.ReadToEnd(); if (responseString.Equals("true")) deleteFromDB(logevent); else { System.Diagnostics.Debug.WriteLine(this.GetType().Name + " Send failure"); System.Diagnostics.Debug.WriteLine(this.GetType().Name + " response: " + responseString); System.Diagnostics.Debug.WriteLine(this.GetType().Name + " logevent: " + logevent.sensorEvent); System.Diagnostics.Debug.WriteLine(this.GetType().Name + " url: " + logevent.relativeUrl); } // Close the stream object streamRead.Close(); //streamResponse.Close(); // Release the HttpWebResponse finalresponse.Close(); } catch (Exception e) { System.Diagnostics.Debug.WriteLine(this.GetType().Name + " Exception, message: " + e.Message ); System.Diagnostics.Debug.WriteLine(this.GetType().Name + " logevent: " + logevent.sensorEvent); System.Diagnostics.Debug.WriteLine(this.GetType().Name + " url: " + logevent.relativeUrl); System.Diagnostics.Debug.WriteLine(e.GetBaseException()); } }
private void SendMessage(LogEvent logevent) { HttpWebRequest request = (HttpWebRequest)WebRequest.Create(_serverRoot + logevent.relativeUrl); request.Method = "PUT"; request.ContentType = "application/json"; request.BeginGetRequestStream(asynchronousResult => { SendData(logevent, asynchronousResult); }, request); }
private void SendData(LogEvent logevent, IAsyncResult asynchronousResult) { HttpWebRequest request = (HttpWebRequest)asynchronousResult.AsyncState; // End the operation Stream putStream = request.EndGetRequestStream(asynchronousResult); string putData = logevent.sensorEvent; // Convert the string into a byte array. byte[] byteArray = Encoding.UTF8.GetBytes(putData); //putStream.WriteTimeout = TIMEOUT_MS; // Write to the request stream. putStream.Write(byteArray, 0, putData.Length); putStream.Close(); // Start the asynchronous operation to get the response request.BeginGetResponse(responseAsynchronousResult => { GetResponse(responseAsynchronousResult, logevent); }, request); }
public void addEvents(IList<LogEvent> events) { using (LogEventDataContext context = new LogEventDataContext(ConnectionString)) { foreach (LogEvent e in events) { LogEvent le = new LogEvent(); e.Time = DeviceTools.GetUnixTime(DateTime.Now); // add the new logEvent to the context context.LogEvents.InsertOnSubmit(e); } context.SubmitChanges(); } }
public void addEvent(JObject sensorEvent, String url) { using (LogEventDataContext context = new LogEventDataContext(ConnectionString)) { // create a new LogEvent instance LogEvent le = new LogEvent(); le.sensorEvent = sensorEvent.ToString(); le.Time = DeviceTools.GetUnixTime(DateTime.Now); le.relativeUrl = url; // add the new logEvent to the context context.LogEvents.InsertOnSubmit(le); try { // save changes to the database context.SubmitChanges(); } catch (System.SystemException e) { System.Diagnostics.Debug.WriteLine("SQLException" + e); } } }