We are in a process of refactoring our current .NET data adapter which will change the current synchronous (blocking) implementation of the IDataProvider.Subscribe method with an asynchronous (non-blocking) one.

As the LS docs say that a non-blocking Subscribe method is recommended, how should we handle invalid subscription requests which will now be queued and handled in a different thread than the one that called Subscribe ? (currently we throw a SubscriptionException in the Subscribe method)