Hi Taze,

When the client disconnects, either of its own initiative in this case or due 
to a network problem out of its control, any outstanding calls are faulted and 
we let you know that their delivery to the server is in doubt. They may have 
reached the server, they may not have, we don't know. If the user really is 
logging out, they're in effect discarding any pending work so you could 
probably just ignore these faults in this case.

There aren't versions of these methods that wait for all outstanding calls to 
complete. If that's a policy you'd like to follow your app, you can track the 
AsycnTokens for all your outstanding calls (for DataService you'd probably want 
to issue explicit commits()) and if the user attempts to logout or disconnect 
while calls are still outstanding, you could just take note of that and issue a 
delayed logout/disconnect call once all pending calls return. But that could 
take awhile, so if you do something like that, put a notice up in the UI 
letting the user know what you're doing and possibly give them an escape hatch 
that just goes ahead and logouts/disconnects while pending calls are still 
outstanding if they really want to just shutdown immediately.

Best,
Seth

From: [email protected] [mailto:[EMAIL PROTECTED] On Behalf Of 
taze170171
Sent: Thursday, September 18, 2008 8:09 AM
To: [email protected]
Subject: [flexcoders] Check for open data service transactions before calling 
logout

Hi!

If the user presses the logout button and ds.disconnectAll() is called
before every dataservice call has been finished the following error
occurs:

doFault:[RPC Fault faultString="Channel disconnected"
faultCode="Client.Error.DeliveryInDoubt" faultDetail="Channel
disconnected before an acknowledgement was received"]

Is there a possibility to check for open transactions or messages which
have not been sent yet to the dataservice before calling
channelSet.disconnectAll() or channelSet.logout()? Or is there a
disconnect or logout method which waits until all data service calls
have been finished?

Thnx,
Taze

Reply via email to