I have tried to set sendTimeout, receiveTimeout and the httpRuntim executionTimeout on our WCF (IIS7/TCP/WAS) application service.
The timeout works but the operation will continue to run, what we need is to get the operation aborted.
In this case there could be a deadlock or anything like that and to solve this problem as fast as possible it would be great if we could abort operations that goes on to long, those operations do lock calls from other clients that’s why it needs to be aborted.
Run the job on a ‘background’ thread or use some other mechanism like that and simply ignore the results from the network call based on some ‘stop’ flag.
I’ve used a little job system working with tickets based on GUID’s that simply did not raise ‘Complete’ events if the job was stopped.
Aborting the actual network call is potentially unsafe. You might kill a function in some critical networking code path that breaks the driver/os/whatever code.