I am currently working with the Service Bus 1.1 in an environment where we have many potential clients that all will subscribe to the same topic(s). I want to ensure that each instance of our components will maintain (and clean up) it's own queue and subscription(s) throughout it's lifetime.
Each instance creates it's own queue as a GUID, which is the queue all of it's subscriptions are forwarded to. Maintaining this queue is taken care of by the QueueClient.OnMessage, as the message pump keeps that queue alive.
However, I am having trouble determining how to maintain the subscriptions to said queue. If I set the time to expire to the minimum of 5 minutes, the subscription will potentially dissapear if that type of message is not received. If I set the time to expire to the Datetime.MaxValue, the subscription will certainly live long enough, but could remain indefinitely in the event of an application and/or server failure.
I was hoping there might be an accepted practice when it comes to maintaining, removing, or detecting an application's topic subscriptions.