Dispatcher.CheckAccess() isn't working from my console application, is there a better way.
Posted
by zimmer62
on Stack Overflow
See other posts from Stack Overflow
or by zimmer62
Published on 2010-04-21T14:09:11Z
Indexed on
2010/04/21
14:23 UTC
Read the original article
Hit count: 136
I wrote an application in WPF / VB and separated the business logic and UI into different projects.
The business layer uses a serial port which runs on a different thread, Now that I'm trying to write a command line interface for the same business layer, it seems to fail when .Invoke() is called. (no error, just doesn't work)
I'm pretty sure the reason I had to add in checkaccess and .invoke was because I have collections that would be changed during processing the serial port data and wanted the NotifyCollectionChanged to be handled by WPF data binding. (The reason I'm not 100% sure is because it was months ago I wrote that part and it all worked great from the GUI, now adding the console app has made me rethink some of this)
I would like my business layer to run these processes on the thread they were created, I need this to work from both my GUI version and the command line version.
Am I misusing the Dispatcher in my business layer? Is there a better way to handle an event from the serial port, and then return to the main thread to processes the data?
© Stack Overflow or respective owner