Reflector showed the Timer is just using the messageloop execute its event. So its already on the ui thread, so no marshalling is needed.
The bgw and control.invoke need marshalling. Reflector also showed ExecutionContext is responsible for undoing/resetting the CurrentPrincipal value. // Ryan =================================== This list is hosted by DevelopMentorĀ® http://www.develop.com View archives and manage your subscription(s) at http://discuss.develop.com