QueueController.cs 1.0 KB

1234567891011121314151617181920212223242526272829303132
  1. using Dto;
  2. using System;
  3. using System.Collections.Generic;
  4. using System.Configuration;
  5. using System.Linq;
  6. using System.Messaging;
  7. using System.Net;
  8. using System.Net.Http;
  9. using System.Web.Http;
  10. namespace QueueWriter.Web.Controllers
  11. {
  12. public class QueueController : ApiController
  13. {
  14. public HttpResponseMessage Post()
  15. {
  16. using (var mq = new MessageQueue(ConfigurationManager.AppSettings["OperationMessageQueuePath"]))
  17. {
  18. var qItem = new QueuedWorkItem() { Name = "Web Queue Item" };
  19. using (var msg = new System.Messaging.Message(qItem))
  20. {
  21. msg.Label = "Queued Item from the web";
  22. msg.Formatter = new XmlMessageFormatter(new Type[] { typeof(QueuedWorkItem) });
  23. mq.Send(msg);
  24. System.Console.WriteLine("Message sent. Message ID is {0}", msg.Id);
  25. }
  26. }
  27. return Request.CreateResponse(HttpStatusCode.OK);
  28. }
  29. }
  30. }