public static void Subscribe() { // Subscribe examples showing use of Raw XML Client vs the Message Contract based Client. // Regardless of client, the service is unafected. if (false) { var reader = new StringReader("<wse:Subscribe xmlns:wse='http://schemas.xmlsoap.org/ws/2004/08/eventing'><wse:Delivery><wse:NotifyTo><Address xmlns='http://schemas.xmlsoap.org/ws/2004/08/addressing'>" + EventSinkUri + "</Address></wse:NotifyTo></wse:Delivery></wse:Subscribe>"); var content = XmlReader.Create(reader); var request = Message.CreateMessage(MessageVersion.Soap11, Constants.WsEventing.Actions.Subscribe, content); var channel = ChannelFactory <IEventSourceRaw> .CreateChannel(new BasicHttpBinding(), new EndpointAddress("http://localhost:8080/eventsource")); var response = channel.Subscribe(request); var xml = response.GetReaderAtBodyContents().ReadOuterXml(); if (response.IsFault) { throw new Exception(xml); } } else { var request = new SubscribeRequestMessage(EventSinkUri); var channel = ChannelFactory <IEventSource> .CreateChannel(new BasicHttpBinding(), new EndpointAddress("http://localhost:8080/eventsource")); channel.Subscribe(request); } Console.WriteLine("Event subscribed!"); }
public async Task Subscribe(string id, string hostName) { var request = new SubscribeRequestMessage { ServerId = id, ServerHost = hostName }; await client.SubscribeServiceAsync(request); }
public static SubscriptionManager Subscribe() { var request = new SubscribeRequestMessage(EventSinkUri); var channel = ChannelFactory <IEventSource> .CreateChannel(new BasicHttpBinding(), new EndpointAddress("http://*****:*****@ {2}", id, expirationDate, uri); return(response.Body.SubscriptionManager); }
public SubscribeResponseMessage Subscribe(SubscribeRequestMessage request) { var deliverTo = request.Body.Delivery.NotifyTo.ToEndpointAddress().Uri; Subscribers.Add(deliverTo); Console.WriteLine("\tSubscription request for " + deliverTo); // We're not going to run an actual Subscription Manager endpoint NOR // going to support identification of specific subscribers (via the // wse:Identifier header element) in this example hence the use of // http://tempuri endpoint address. var response = new SubscribeResponseMessage(new SubscribeResponseMessageBody(new SubscriptionManager(new Uri("http://tempuri")), new Expires(DateTime.MaxValue))); return(response); }