static void Main(string[] args) { string connectionString = "MyConnectionString"; const string topicName = "shopify-notifications"; Publisher publisher = new Publisher(topicName, connectionString); Subscriber subscriber = new Subscriber(topicName, connectionString); subscriber.Subscribe<SampleEvent>("SampleEvents", message => Console.WriteLine( String.Format("received message with id \"{0}\" and content \"{1}\"", message.MessageId, message.GetBody().Message))); while (true) { Console.WriteLine("Write something to send a message:"); string message = Console.ReadLine(); if (!string.IsNullOrEmpty(message)) { var publishMessage = PublishMessage.Create(new SampleEvent(message), Guid.NewGuid().ToString()); publisher.Send(publishMessage); } } }
public void CanSubscribeToPublishedEvent() { SubscriptionMessage<SampleEvent> receivedMessage = null; AutoResetEvent autoResetEvent = new AutoResetEvent(false); // Register the subscriber Subscriber subscriber = new Subscriber(Configuration.SampleTopicName, Configuration.AzureServiceBusConnectionString); subscriber.Subscribe<SampleEvent>("StronglyTypedPubSubSubscription", message => { receivedMessage = message; autoResetEvent.Set(); }); Publisher publisher = new Publisher(Configuration.SampleTopicName, Configuration.AzureServiceBusConnectionString); publisher.Send(PublishMessage.Create(new SampleEvent("test"), Guid.NewGuid().ToString())); autoResetEvent.WaitOne(TimeSpan.FromSeconds(5)); Assert.IsNotNull(receivedMessage); Assert.AreEqual("test", receivedMessage.GetBody().Message); }