public void DeliverMessage(Guid trackingId, string message)
        {
            // Delivery = save message to file!
            VirtualPathExtension virtualPathExtension =
                OperationContext.Current.Host.Extensions.Find<VirtualPathExtension>();

            string folder =
                Path.Combine(
                    new FileInfo(HostingEnvironment.MapPath(virtualPathExtension.VirtualPath)).DirectoryName,
                    "App_Data");
            string file = Guid.NewGuid().ToString() + ".txt";
            string outputFilePath = Path.Combine(folder, file);

            using (var writer = new StreamWriter(outputFilePath))
            {
                writer.WriteLine(message);
            }

            // Set up and do some tracking...
            SetTrackingId(trackingId);
            WCFUserEventProvider ev = new WCFUserEventProvider();
            ev.WriteInformationEvent(
                "DeliveryService.DeliverMessage",
                string.Format("Message[{0}] delivered to file[{1}]", message, outputFilePath));
        }
        public void SayHello(Hello hello)
        {
            // Set up and do some tracking...
            var trackingId = SetTrackingId();
            WCFUserEventProvider ev = new WCFUserEventProvider();
            ev.WriteInformationEvent(
                "HelloService.SayHello",
                XmlSerialization.SerializeToXmlString(hello));

            // Use the delivery service for each individual message
            var deliveryService = new DeliveryService.DeliveryServiceClient();
            foreach (string recipient in hello.To)
            {
                deliveryService.DeliverMessage(
                    trackingId,
                    string.Format(
                        "Hello to {0}, from {1}",
                        recipient,
                        hello.From));
            }
        }
        public void DeliverGreeting(MsmqMessage<Greeting> greetingMessage)
        {
            // Extract the greeting from the MSMQ message
            Greeting greeting = greetingMessage.Body;

            // Set up and do some tracking...
            var trackingId = SetTrackingId();
            WCFUserEventProvider ev = new WCFUserEventProvider();
            ev.WriteInformationEvent(
                "GreetingService.DeliverGreeting",
                XmlSerialization.SerializeToXmlString(greeting));

            // Use the delivery service for each individual message
            var deliveryService = new DeliveryService.DeliveryServiceClient();
            foreach (string recipient in greeting.Recipients)
            {
                deliveryService.DeliverMessage(
                    trackingId,
                    string.Format(
                        "{0} {1}",
                        greeting.GreetingMessage,
                        recipient));
            }
        }