private void OpenChannel()
{
lock (_channelLock)
{
try
{
_subscriptionOpenChannel = CreateSubscriptionChannel(_notificationQueueSize);
}
catch (WoopsaNotFoundException)
{
// No subscription service available, create a local one
_localSubscriptionService = new WoopsaSubscriptionServiceImplementation(_woopsaRoot, false);
try
{
_subscriptionOpenChannel = CreateSubscriptionChannel(_notificationQueueSize);
//TODO : détecter la perte de connection du service de souscription et fermer le canal
}
catch
{
_localSubscriptionService.Dispose();
throw;
}
}
}
}