All,
I have an odd (I think) issue that I would really appreciate some help on. The nut of the issue is that I have a WCF 4.0 service posted in IIS (ASP.NET).
This WCF service needs to be accessible to protocols other than HTTP and is not in ASP.NET compatibility mode.
One of the components interfacing with this WCF service is in fact an ASP.NET site. On one of the pages there are the following controls:
- 2 timers
- RadTextBox
- div tag which in codebehind is being updated (html content)
- RadGrid
- RadAjaxManager (and all of its necessary components (i.e. loading panel))
1 of the timers is set to tick every 1 second, the other every 10 seconds.
During the 1 second timer tick, if the text has changed in the RadTextBox since the last postback, a call to the WCF service is made and the DIV tag is updated. This call returns immediately.
During the 10 second tick, if the text has changed in the RadTextBox since the last postback, a call to the WCF service is made and the RadGrid is updated. This call returns in ~8 seconds.
The code in the timers utilizes the async proxy generated methods for the WCF service and the callbacks handle the appropraite updating of the respective controls.
All of this is handled with RadAjaxManager (timer 1 updates div tag, timer 2 updates radgrid).
This solution works *except* that in the time during the timer 2 execution when a change is detected (~8 seconds), no further updates happen from the timer 1 code *until* after the callback initiated by the timer 2 code returns.
Essentially something is blocking somewhere. At first I thought it was a timer but then I repro'd the issue by invoking the grid population by a button click. I looked at the WCF service again and its ServiceBehaviors all appear to be set correctly to support proper async operations. About the only thing I haven't done is physically implement my own async methods in the WCF service to see if that resolves it.
Am I missing anything obvious here? Can two different async calls into the same WCF service not occur asynchronously?
Thanks for any and all help.
Jim