public HttpResponseMessage PostClicInfo([FromBody] StickyClicInfo data) { bool result = false; try { // Encolamos si tiene distinto de null la info data.Ip = HttpContext.Current != null ? HttpContext.Current.Request.UserHostAddress : ""; string QueueName = ConfigurationManager.AppSettings["StickyClicInfoQueue"]; string dataString = JsonConvert.SerializeObject(data); QueueManager.InsertMessage(dataString, QueueName); result = true; } catch (Exception e) { var messageException = telemetria.MakeMessageException(e, System.Reflection.MethodBase.GetCurrentMethod().Name); telemetria.Critical(messageException); } if (result) { return(Request.CreateResponse(HttpStatusCode.OK, result)); } else { return(Request.CreateResponse(HttpStatusCode.InternalServerError, result)); } }
// This function will get triggered/executed when a new message is written // on an Azure Queue called queue. public static void ProcessQueueMessage([QueueTrigger("%StickyClicInfoQueue%")] string message, TextWriter log) { KindAdsTelemetryManager manager = new KindAdsTelemetryManager(); string DatabaseName = ConfigurationManager.AppSettings["CosmosDatabaseName"]; string CollectionName = ConfigurationManager.AppSettings["CosmosStickyClicCollectionName"]; StickyClicInfo info = manager.GetInfo <StickyClicInfo>(message); manager.SendToCosmos(info, DatabaseName, CollectionName); }