Currently I have implement a multithreading approach in my VSTO project, I used "ThreadPool.QueueUserWorkItem" to get a background thread to retrieve data from WCF service. and in background thread, I used "dispatcher.Invoke" to invoke UI rendering method from main UI thread. the "dispatcher" is define at main UI thread as "Dispatcher dispatcher = Dispatcher.CurrentDispatcher;"
But I encounter a issue that when there is more data (means there will be more loop), my application will hung up, and not responding. However this issue is not happen when I use single thread.
Any idea about why use multithreading causes "not responding"?