Forum Discussion
I'll have to go back and look, but I believe the transaction id is stored in-memory on the server side within the given user's context. If you have two sessions starting and ending transactions, if the first ends the transaction after the second creates one, the second's end will likely fail as it's been removed by the first session.
If you need to use the same user account for multiple transactions, I'd recommend using the System.SystemInfo locking mechanisms to acquire and release locks. These are again, just server settings in the user context, but you can use them tell another parallel session that work is in progress by the same user. I discussed those interfaces in this article: https://devcentral.f5.com/articles/concurrent-icontrol-programming-explained.
Hope this helps...
-Joe