Can't get asynch Web Service calls to work in IIS 7 with Compressi


Paul Duncan

I need to perform an asynchronous web service call to an ASP.NET service
running on IIS 7 using Dynamic Compression, and it is failing.

I'm using the basic 'Hello World' web service, and the default proxy I
created using wsdl. I've also overridden WebResponse so that I can
decompress the GZIPPED response. Stepping through, I see that this code is
working fine and my response is getting decompressed. However, when I call
proxy.EndHelloWorld(), it throws an 'XmlException: Unexpected end of file ...
position 312'. In Fiddler, I can see that the file's content-length is 311,
but is obviously longer when decompressed.

If I call the method synchronously, it works, if I turn off Dynamic
Compression in IIS7, it works, or if I use IIS 6 it works. In IIS6, I notice
the response does not have a content-length, but rather a transfer-encoding
of 'chunked'. So, when calling IIS 7, I set a breakpoint in Fiddler and
changed the response to chunked, and it worked fine. Perhaps the answer is
to set something in IIS7 so that my responses are chunked, but it seems
strange that this doesn't just work out of the box.

Thanks for any help you can give on this,


Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question