I have a webservice that is consumed by a windows forms app.

Lets say the method in the WS is called Login

So I call the LoginAsync method that is created by the WS proxy and call it like so

WS.LoginAsync()

and I have a delegate sub waiting to pick up the return call.

This all works 100% fine except for when the WS is not available.

For example, if I stop IIS, and then run my windows form app, when it tries to call the method, it simply never returns to the callback. Even if I set a timeout.

Now the only thing I can think of is using a form timer, however that seems kinda stupid, as I would think the async WS calls would have a way of handling a WS not being available.

If I don't use the Async call, and just the regular .login call, I will get an exception if the WS is not available. This is not the case though with the async call.

Any ideas?