I liked your approach with the Dispose activity, and I think that it should actually work.
You just need to change it a little:
1. do not use the ScopeProvider.ObjectScope method because this will not reset the scope after you dispose it and will return a disposed scope every time after the first (I think this explains the disposed scope exception)
2. implement your own scope management (which you already did to some extent) based on the ScopeProvider.GetNewObjectScope method
3. after you dispose the scope, set the scope variable to null so that a new scope is returned next time instead of the disposed one
I hope this helps.
the Telerik team
Do you want to have your say when we set our development plans?
Do you want to know when a feature you care about is added or when a bug fixed?
Telerik Public Issue Tracking
system and vote to affect the priority of the items