public bool ConsumeAddInstanceSubscription( AddInstanceSubscription subscription) { pht.Batch(actions => { var message = new MemoryStream(); messageSerializer.Serialize(new[] { subscription }, message); var itemId = actions.AddItem(new AddItemRequest { Key = SubscriptionsKey, Data = message.ToArray() }); remoteInstanceSubscriptions.Add( subscription.InstanceSubscriptionKey, subscription.Type, new Uri(subscription.Endpoint), itemId); actions.Commit(); }); RaiseSubscriptionChanged(); return(true); }
public bool ConsumeAddInstanceSubscription(AddInstanceSubscription subscription) { if (logger.IsDebugEnabled) { logger.DebugFormat("Adding instance subscription for {0} on {1}.", subscription.InstanceSubscriptionKey, subscription.Endpoint); } int itemId = storage.AddItem(SubscriptionsKey + localEndpoint, subscription, SerializeMessage); remoteInstanceSubscriptions.Add( subscription.InstanceSubscriptionKey, subscription.Type, new Uri(subscription.Endpoint), itemId); RaiseSubscriptionChanged(); return(true); }
private bool ConsumeAddInstanceSubscription(CurrentMessageInformation msgInfo, AddInstanceSubscription subscription) { var msmqMsgInfo = msgInfo as MsmqCurrentMessageInformation; var msgId = msgInfo.TransportMessageId; if (msmqMsgInfo != null) { msmqMsgInfo.Queue.Send( msmqMsgInfo.MsmqMessage.SetSubQueueToSendTo(SubQueue.Subscriptions)); // may be changed by the sending msgId = msmqMsgInfo.MsmqMessage.Id; } remoteInstanceSubscriptions.Add( subscription.InstanceSubscriptionKey, subscription.Type, new Uri(subscription.Endpoint), msgId); RaiseSubscriptionChanged(); return(true); }