When DataServicesFactory.Create() is called, Eikon Terminal will be automatically started up by the API, bringing up the login dialog. Our question is how to correctly handle when the user is not entering the credentials for a prolonged time.
This is the flow of status updates coming via the callbacks registered in DataServicesFactory.Create():
Virtually immediately:
- IConnectionInformation.State=StartingInitialization, Message=Starting Data Services initialization.
- IConnectionInformation.State=LaunchingEikon, Message=Try start/wake up Eikon.
After three minutes:
- AggregateException.Message=Unable to start automatically Eikon after 60 attempts. Please make sure Eikon is correctly installed on this computer.
Apparently this error is a fatal one, i.e. logging in afterwards will not lead to a success callback with a valid IDataServices object passed in.
We are currently handling this situation by calling DataServicesFactory.Create() again, which will then lead to the above status updates again. We will repeat this until the user has finally logged in, so Create() may be called quite a number of times (with about three minutes time inbetween)
The problem however is, that if the user does not log in for hours or even days, the computer is starting to become unstable, probably due to a resource exhaustion of some kind.
We are wondering if calling DataServicesFactory.Create() subsequently (if the first call fails) from the same process could be the culprit.
What would be the proposed way of cleanly handling above situation?