Hi guys, some guidance if you can, I have posted this question on the Support Center
www.devexpress.com/issue=Q205441
The basic situation is I have a server app that exposes an IDataStore over .NET Remoting, and a client accessing the XPO datastore across the wire.
This works quite well including a Compression sink I picked up on CodeProject.
The issue I have is that I am dealing with connections that are usually 10KBps to 20KBps, so when you have a bit of data it can take up to a couple of seconds for the data to come over the wire (my tests show around 10-50KB of data) although that isn't much the GUI still hangs while the data is being obtained.
I use to have a Typed Dataset for my BO and do this over a WebService, I would send a simple request and the WebService would return a Dataset, this could be done easily in a seperate thread and pass back the result dataset to the UI to update the datasource of the grid. The thing I don't like is datasets are bloaty and annoying to work with.
I have wanted to move over the XPO but had a legacy database system. I have been playing for a while now and worked out that XPO is awesome, regardless of the legacy database I can still connect to it and manipulate it "perfectly" :)
Now the issue is getting the interface to work the same :(
I note that XAF also suffers this fate, whereby when data is being obtained the UI thread locks up until complete.
So my question is this, where do you perform the code such as
dim uow as new UnitOfWork(program.Data, nothing)
dim theData as new XPCollection(of MyDataType)(uow)
myGrid.datasource = theData
to run on another thread?
Please don't hesitate to download the sample app I have dummied up for DX and have a play, I would welcome any suggestions. Oliver's blogs were good however I would say they are incomplete. It is a complete sample of exposing a IDatastore using .NET Remoting and also has a compression library I got from CodeProject. Might be handy for some of you, I know I woulda loved to have a head start :)
Thanks guys and hope to here from you soon.