I have been trying to get a three tier LOB system working over the past few weeks.
As part of that , I did discover one cool thing about WCF with relation to WPF.
That is, it’s dead easy to specify which collection class you wish to use when the WCF classes are generated on the client.
For example, for WPF you may want ObservableCollection in your business classes instead of an array or List<>
Unfortunately you can’t do it via the GUI for adding service references, but you can do it on the command line by specifying the /ct parameter when running SvcUtil, e.g.:
svcutil /edb /o:DataService /r:”c:\somewhere\mydll.dll” /ct:Utils.ObservableList`1
Here I use my own version of ObservableCollection called ObservableList in a dll called mydll.dll. If you just want to use standard ObservableCollection, then you won’t need the /r parameter