views:

88

answers:

0

Hi,

I'm using SL3 and google maps. I get the coordinates of points to draw on the map through a duplex HTTP WCF service. The client proxy is created through the svcutil tool.

It works fine until I get plenty of points to draw on the map. When that happens google maps takes a long time to draw stuff on the map and it has to do it on the UI thread. I can't slice the data and use Post() because

  • it would make the whole application way more complicated than it is already

  • some operations from the map are atomic and take ages anyway (like zoom in/out triggered by the user take ages when there are many points).

When that happens (long UI thread running), the duplex channel doesn't work anymore (I use fiddler to check there are no calls made). When the UI comes back alive, the service gets all the missed callbacks.

However, sometimes the service doesn't get anything anymore and no exceptions are thrown. Moreover if I try to reconnect (by calling Abort() on the client and then creating a new one) I get exceptions thrown (Fiddler says they come back as 404).

If I refresh the browser (and thus reload the client) it then works fine again.

Is there any way of making the proxy client use a background thread? Did anyone experience the same kind of issues or can sugest ways of debugging them?

Cheer.